我刚刚在我的应用程序中添加了报告错误,并且我想保存权限。
当我放置代码以获取数组(info.permissions
(PackageInfo 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数组?
或者如果这种获取权限的方法不再起作用,我应该使用什么?
答案 0 :(得分:0)
几个小时后我找到了答案。问题是,我没有标签<permissions>
的权限,我将获得<uses-permission>
的标签info.requestedPermissions
的权限。