Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅Android应用程序列表权限_Android_Package Managers_Android Package Managers - Fatal编程技术网

仅Android应用程序列表权限

仅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

我正在开发一个android应用程序,它将显示手机上安装的所有应用程序,当单击某个特定应用程序时,它应该只显示该应用程序的权限。我使用包管理器获取安装的apk的所有详细信息。 代码部分如下所示:

    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 -> ... }
更多链接

试试看