【发布时间】:2014-04-04 17:01:39
【问题描述】:
我想在我的 Android 应用中添加一项功能,该功能可以检查其他已安装应用所使用的权限。例如: - 我的应用程序检查其他已安装的应用程序权限,它们使用的是什么?
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();
}}}
}
这是工作代码,它提供了所有应用程序使用的所有权限的完整列表。 但我的问题是如何特别知道哪个应用程序使用了哪个权限?
请帮助我并给我一些想法。
【问题讨论】:
标签: permissions