android获取应用
❶ 如何获取安卓手机里所有的正在运行的应用
举例:一加手机一加3t
1、打开手机设置找到储存和内存,这个根据每个手机不同,有些手机是点击应用程序
纯手工自己手机举例,有些手机右上角还可以点击是否显示隐藏运行应用,因为有些系统应用默认不显示
❷ Android 怎么样获得应用信息
一、方法介绍:
每个Android应用程序都可以通过Context来获取与应用程序相关的目录,这些目录的功能各异,每一个目录都有自己的特点,有时候可能会搞混淆,本文结合android源码注释和实际操作,详细介绍一下每个方法:
方法:getFilesDir
释义:返回通过Context.openFileOutput()创建和存储的文件系统的绝对路径,应用程序文件,这些文件会在程序被卸载的时候全部删掉。
方法:getCacheDir
释义:返回应用程序指定的缓存目录,这些文件在设备内存不足时会优先被删除掉,所以存放在这里的文件是没有任何保障的,可能会随时丢掉。
方法:getDir
释义:这是一个可以存放你自己应用程序自定义的文件,你可以通过该方法返回的File实例来创建或者访问这个目录,注意该目录下的文件只有你自己的程序可以访问。
方法:getExternalCacheDir
释义:使用这个方法需要写外部存储的权限“<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />”,调用该方法会返回应用程序的外部文件系统(Environment.getExternalStorageDirectory())目录的绝对路径,它是用来存放应用的缓存文件,它和getCacheDir目录一样,目录下的文件都会在程序被卸载的时候被清除掉。
方法:getExternalFilesDir
释义:使用这个方法需要写外部存储的权限“<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />”,这个目录是与应用程序相关的外部文件系统,它和getExternalCacheDir不一样的是只要应用程序存在它就会一直存在,这些文件只属于你的应用,不能被其它人访问。同样,这个目录下的文件在程序被卸载时也会被一同删除。
方法:getExternalFilesDir
释义:和上面的方法一样,只是返回的是其目录下某一类型的文件,这些类型可以是: Environment#DIRECTORY_MUSIC 音乐 Environment#DIRECTORY_PODCASTS 音频 Environment#DIRECTORY_RINGTONES 铃声 Environment#DIRECTORY_ALARMS 闹铃 Environment#DIRECTORY_NOTIFICATIONS 通知铃声 Environment#DIRECTORY_PICTURES 图片 Environment#DIRECTORY_MOVIES 视频
方法:getDatabasePath
释义:保存通过Context.openOrCreateDatabase 创建的数据库文件
方法:getPackageCodePath
释义:返回android 安装包的完整路径,这个包是一个zip的压缩文件,它包括应用程序的代码和assets文件。
方法:getPackageResourcePath
释义:返回android 安装包的完整路径,这个包是一个ZIP的要锁文件,它包括应用程序的私有资源。
方法:getObbDir
释义:返回应用程序的OBB文件目录(如果有的话),注意如果该应用程序没有任何OBB文件,这个目录是不存在的。
二、测试程序:
测试代码如下:
private StringBuilder getFilePath( ){
StringBuilder filePathBuilder = new StringBuilder( );
// 返回通过Context.openFileOutput()创建和存储的文件系统的绝对路径,应用程序文件,这些文件会在程序被卸载的时候全部删掉。
filePathBuilder.append( "getFilesDir == " ).append( getFilesDir( ) ).append( "\n" );
// 返回应用程序指定的缓存目录,这些文件在设备内存不足时会优先被删除掉,所以存放在这里的文件是没有任何保障的,可能会随时丢掉。
filePathBuilder.append( "getCacheDir == " ).append( getCacheDir( ) ).append( "\n" );
// 这是一个可以存放你自己应用程序自定义的文件,你可以通过该方法返回的File实例来创建或者访问这个目录,注意该目录下的文件只有你自己的程序可以访问。
filePathBuilder.append( "getDir == " ).append( getDir("test.txt", Context.MODE_WORLD_WRITEABLE) ).append( "\n" );
/* 需要写文件权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> */
// 调用该方法会返回应用程序的外部文件系统(Environment.getExternalStorageDirectory())目录的绝对路径,它是用来存放应用的缓存文件,它和getCacheDir目录一样,目录下的文件都会在程序被卸载的时候被清除掉。
filePathBuilder.append( "getExternalCacheDir == " ).append( getExternalCacheDir( ) ).append( "\n" );
// 这个目录是与应用程序相关的外部文件系统,它和getExternalCacheDir不一样的是只要应用程序存在它就会一直存在,这些文件只属于你的应用,不能被其它人访问。同样,这个目录下的文件在程序被卸载时也会被一同删除。
filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( "/" ) ).append( "\n" );
/**
* 和上面的方法一样,只是返回的是其目录下某一类型的文件,这些类型可以是:
* Environment#DIRECTORY_MUSIC 音乐
* Environment#DIRECTORY_PODCASTS 音频
* Environment#DIRECTORY_RINGTONES 铃声
* Environment#DIRECTORY_ALARMS 闹铃
* Environment#DIRECTORY_NOTIFICATIONS 通知铃声
* Environment#DIRECTORY_PICTURES 图片
* Environment#DIRECTORY_MOVIES 视频
*
* */
filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( Environment.DIRECTORY_PICTURES ) ).append( "\n" );
// 保存通过Context.openOrCreateDatabase 创建的数据库文件
filePathBuilder.append( "getDatabasePath == " ).append( getDatabasePath( DATA_BASE_NAME ) ).append( "\n" );
// 返回android 安装包的完整路径,这个包是一个zip的压缩文件,它包括应用程序的代码和assets文件
filePathBuilder.append( "getPackageCodePath == " ).append( getPackageCodePath( ) ).append( "\n" );
// 返回android 安装包的完整路径,这个包是一个ZIP的要锁文件,它包括应用程序的私有资源。
filePathBuilder.append( "getPackageResourcePath == " ).append( getPackageResourcePath( ) ).append( "\n" );
// 返回应用程序的OBB文件目录(如果有的话),注意如果该应用程序没有任何OBB文件,这个目录是不存在的。
filePathBuilder.append( "getObbDir == " ).append( getObbDir( ) ).append( "\n" );
return filePathBuilder;
}
❸ android 获取应用是否有某个权限
可以使用以下方法:
判断应用是否具有某个权限
PackageManager pm = getPackageManager();
boolean permission = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission("android.permission.RECORD_AUDIO", "packageName"));
if (permission) {
showToast("有这个权限");
}else {
showToast("木有这个权限");
}
获取某个应用的权限清单
PackageInfo pack = pm.getPackageInfo("packageName",PackageManager.GET_PERMISSIONS);
String[] permissionStrings = pack.requestedPermissions;
❹ android 中获取当前设备安装了哪些应用
这是获得系统已安装的所有应用的一种方法:
java">privateStringgetAllApp(Contextcontext){
StringpackageName="";
PackageManagerpm=context.getPackageManager();
List<PackageInfo>packagelist=pm.getInstalledPackages(0);
for(inti=0;i<packagelist.size();i++){
PackageInfopackageInfo=packagelist.get(i);
packageName=packageName+" 应用包名:"+packageInfo.packageName;
}
returnpackageName;
}
以上内容在Android 5.0测试通过,没有使用任何已被Google弃用的方法,而且SDK版本要求不高,理论上向上、向下都可以兼容。
(答题不易,正确请采纳)
❺ Android开发中如何获取应用版本号
应用场景:
1、在界面中显示应用程序的版本号;
2、用户启动该应用,后台判断该应用是否是最新版本。
上述情景都需要在程序中自动获取到应用的版本号。
思路简介:
在Android中,应用程序的版本号是在AndroidManifest.xml文件中进行配置的,而PackageInfo类则封装了从该配置文件中获取的所有信息,描述了包内容的整体信息,因此,可以使用PackageInfo对象的versionName属性获取应用的版本号。
要怎么获取PackageInfo对象呢?可以通过PackageManager对象来获取。PackageManager是一个检索当前已安装在设备上的相关应用程序包的各种信息的类。PackageManager对象中的getPackageInfo方法可以获取PackageInfo对象,该方法需要传递两个参数:应用包名和条件。通常情况下,应用程序的包名可以通过Activity或Context(Activity继承自Context)的getPackageName()方法获取,而添加可以有很多设置,通常设置为0。
最后是PackageManager对象的获取,Context对象提供了getPackageManager()方法来获取该对象。
综上,模板代码如下:(注意,此处封装的方法位于某个Activity中,因此直接使用this来代替Context对象)
/**
*
获取版本号
*
@return
当前应用的版本号
*/
public
String
getVersion()
{
try
{
PackageManager
manager
=
this.getPackageManager();
PackageInfo
info
=
manager.getPackageInfo(this.getPackageName(),
0);
String
version
=
info.versionName;
return
this.getString(R.string.version_name)
+
version;
}
catch
(Exception
e)
{
e.printStackTrace();
return
this.getString(R.string.can_not_find_version_name);
}
}
❻ Android开发怎么获取应用列表所有应用的中文名
Android应用只存在应用名,不存在应用中文名,你要获取的是不是主界面图标底下的名字?
ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); //用来存储获取的应用信息数据
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packages.size();i++) { PackageInfo packageInfo = packages.get(i); AppInfo tmpInfo =new AppInfo(); tmpInfo.appName =packageInfo.applicationInfo.loadLabel(getPackageManager()).toString(); tmpInfo.packageName = packageInfo.packageName; tmpInfo.versionName = packageInfo.versionName; tmpInfo.versionCode =packageInfo.versionCode; tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager()); appList.add(tmpInfo);
}
❼ 如何简单快速获取Android应用包名
如果是要获得手机上的已安装的APP的包名,那么请下载包名查看器软件,直接可以查看.
现在要说的是有一个APP安装包,获取包名的方法:(需要安装NotePad++)
将安装包后缀.apk改为.zip(.rar)
双击打开解压包,找到AndroidManifest.xml,将它单独解压出来即可
如果没有NotePad++也可以尝试在线查看xml文件,查找manifest关键字
❽ android里怎么获取单个应用程序的详细信息
android应用程序详细信息可以通过PackageManger管理类来获得,PackageManger管理所有程序包的信息,包括包名、label、icon、占用大小、是系统程序还是第三方程序等信息。
PackageManager pm = this.getPackageManager(); // 获得PackageManager对象
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
// 通过查询,获得所有ResolveInfo对象.
List<ResolveInfo> resolveInfos = pm
.queryIntentActivities(mainIntent, PackageManager.MATCH_DEFAULT_ONLY);
如果你希望获取某单个应用程序信息,只需要通过pm对象获取当中的包名,再与你想要获得应用程序的包名比较一下,再获取相应的属性就可经了。