在我的应用程序中获取权限时获取空数组

时间:2018-09-03 15:33:26

标签: android arrays android-permissions

我刚刚在我的应用程序中添加了报告错误,并且我想保存权限。

当我放置代码以获取数组(info.permissionsPackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);)中的所有权限时以及当我获得每个权限时

for (PermissionInfo perm_info : info.permissions) {
                    errorReport.append("\n");
                    errorReport.append("\n");
                    errorReport.append("Permission Name:");
                    errorReport.append("\n");
                    errorReport.append(perm_info.name);
                    errorReport.append("\n");
                    errorReport.append("Group: ");
                    errorReport.append("\n");
                    errorReport.append(perm_info.group);
                    errorReport.append("\n");
                    errorReport.append("Protection Level: ");
                    errorReport.append("\n");
                    errorReport.append(perm_info.protectionLevel);
                    errorReport.append("\n");
                    errorReport.append("\n");
                }

问题不在errorReport String Builder中,它可以正常工作,但array为null。

我确认这一点是因为PackageInfo中没有这个问题:

PackageInfo info = null;
        try {
            info = manager.getPackageInfo(context.getPackageName(), 0);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            Log.e("DeviceReport", e.toString());
        }

而且我没有从DeviceReport中得到任何错误

谁能帮助我知道为什么我会得到Null数组?

或者如果这种获取权限的方法不再起作用,我应该使用什么?

1 个答案:

答案 0 :(得分:0)

几个小时后我找到了答案。问题是,我没有标签<permissions>的权限,我将获得<uses-permission>的标签info.requestedPermissions的权限。