【问题标题】:How to get if an app requests a permission?如果应用请求权限,如何获取?
【发布时间】:2019-03-02 08:36:53
【问题描述】:
【问题讨论】:
标签:
java
android
permissions
manifest
【解决方案1】:
在您的活动中使用以下代码:
我创建了StringBuffer appNameAndPermissions = new StringBuffer(); 来附加所有应用程序和权限信息。
一切正常。我已经测试过了。如果您有任何问题,请告诉我。
StringBuffer appNameAndPermissions = new StringBuffer();
PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo applicationInfo : packages) {
Log.d("test", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName);
try {
PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS);
appNameAndPermissions.append(packageInfo.packageName+"*******:\n");
//Get Permissions
String[] requestedPermissions = packageInfo.requestedPermissions;
if(requestedPermissions != null) {
for (int i = 0; i < requestedPermissions.length; i++) {
Log.d("test", requestedPermissions[i]);
appNameAndPermissions.append(requestedPermissions[i]+"\n");
}
appNameAndPermissions.append("\n");
} catch (NameNotFoundException e) {
e.printStackTrace();
}
在您的 AndroidManifest.xml 文件中使用以下权限:
<uses-permission android:name="android.permission.GET_TASKS"/>
来源和更多答案here