仅Android应用程序列表权限
我正在开发一个android应用程序,它将显示手机上安装的所有应用程序,当单击某个特定应用程序时,它应该只显示该应用程序的权限。我使用包管理器获取安装的apk的所有详细信息。 代码部分如下所示:仅Android应用程序列表权限,android,package-managers,android-package-managers,Android,Package Managers,Android Package Managers,我正在开发一个android应用程序,它将显示手机上安装的所有应用程序,当单击某个特定应用程序时,它应该只显示该应用程序的权限。我使用包管理器获取安装的apk的所有详细信息。 代码部分如下所示: PackageManager packageManager = context.getPackageManager(); List<PackageInfo> applist = packageManager.getInstalledPackages(0); Itera
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> applist = packageManager.getInstalledPackages(0);
Iterator<PackageInfo> it = applist.iterator();
while (it.hasNext()) {
PackageInfo pk = (PackageInfo) it.next();
PackageInfo pk1 = (PackageInfo) it.next();
if ((pk.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
// Log.v("System app using internet = ",""+ pk.applicationInfo.loadLabel(packageManager));
String p = pk.applicationInfo.loadLabel(packageManager).toString();
if (PackageManager.PERMISSION_GRANTED == packageManager.checkPermission(Manifest.permission.CAMERA, pk.packageName))
//results.add("" +"\n"+pk.applicationInfo.loadLabel(packageManager));
{
//Drawable appicon = getPackageManager().getApplicationIcon("com.google.maps");
results.add("" + "\n" + pk.applicationInfo.loadLabel(packageManager));
}
if (PackageManager.PERMISSION_GRANTED == packageManager.checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, pk.packageName))
results1.add("" +"\n"+pk1.applicationInfo.loadLabel(packageManager));
}
}
PackageManager-PackageManager=context.getPackageManager();
List applist=packageManager.getInstalledPackages(0);
迭代器it=applist.Iterator();
while(it.hasNext()){
PackageInfo pk=(PackageInfo)it.next();
PackageInfo pk1=(PackageInfo)it.next();
if((pk.applicationInfo.flags和applicationInfo.FLAG_系统)!=0){
//Log.v(“使用internet的系统应用程序=”,“”+pk.applicationInfo.loadLabel(packageManager));
字符串p=pk.applicationInfo.loadLabel(packageManager.toString();
if(PackageManager.PERMISSION_grated==PackageManager.checkPermission(Manifest.PERMISSION.CAMERA,pk.packageName))
//结果。添加(“+”\n“+pk.applicationInfo.loadLabel(packageManager));
{
//Drawable appicon=getPackageManager().getApplicationCon(“com.google.maps”);
结果。添加(“+”\n“+pk.applicationInfo.loadLabel(packageManager));
}
if(PackageManager.PERMISSION\u grated==PackageManager.checkPermission(Manifest.PERMISSION.WRITE\u EXTERNAL\u STORAGE,pk.packageName))
结果1.add(“+”\n“+pk1.applicationInfo.loadLabel(packageManager));
}
}
在列出应用程序时,我应该在图标后面加上应用程序名
如何修改此代码以获得所需的输出。
核心代码:
packageInfo.requestedPermissions?.forEach { permission -> ... }
更多链接
试试看