尝试获取应用程序权限时出错

时间:2018-05-16 15:34:28

标签: android

我正在尝试获取应用的权限,但我收到编译错误“无法解析requestedPermissions”  。尝试使用它作为方法和符号。  ScreenShot

@Override
        protected Void doInBackground(Void... params) {
            PackageManager pm = getPackageManager();
            applist = checkForLaunchIntent(packageManager.getInstalledApplications(PackageManager.GET_META_DATA));
            try {
                for (ApplicationInfo applicationInfo : applist) {
                    PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS);
                    String[] requestedPermissions = applicationInfo.requestedPermissions;
                    if (requestedPermissions != null) {
                        for (int i = 0; i < requestedPermissions.length; i++) {
                            Log.d("test", requestedPermissions[i]);
                        }
                    }
                }
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }

            listadapter = new AppAdapter(ViewAppsPermissions.this, R.layout.list_item, applist);

            return null;
        }

3 个答案:

答案 0 :(得分:0)

问题是requestedPermissions不是方法,而是PackageInfo类中的字段。你应该像这样引用它:

String[] requestedPermissions = packageInfo.requestedPermissions;

答案 1 :(得分:0)

ApplicationInfo没有requestedPermissions字段。 PackageInfo does。变化:

String[] requestedPermissions = applicationInfo.requestedPermissions;

为:

String[] requestedPermissions = packageInfo.requestedPermissions;

答案 2 :(得分:0)

String [] requestedPermissions = packageInfo.requestedPermissions;