我需要开发一个Android应用程序来检测恶意软件。
我希望根据安装的所有应用程序使用的权限来开发它。请告诉我如何识别其他应用程序使用的权限
答案 0 :(得分:24)
您可以获得所有已安装的应用程序权限。
- 获取所有已安装的应用程序
- 迭代应用程序
- 获取每个应用程序权限列表
- 迭代每个权限
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);
//Get Permissions
String[] requestedPermissions = packageInfo.requestedPermissions;
if(requestedPermissions != null) {
for (int i = 0; i < requestedPermissions.length; i++) {
Log.d("test", requestedPermissions[i]);
}
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}
答案 1 :(得分:0)
您可以使用此REST API获取有关应用的详细信息,包括应用所需的权限。例如,要查看WhatsApp要求的权限,请找到&#34;权限&#34;此GET请求的响应中的节点: http://playstore-api.herokuapp.com/playstore/apps/com.whatsapp
有关如何为此进行API调用的更多说明,请参见GitHub page。