我需要开发一个安卓应用程序来检测恶意软件。
我想根据所有已安装应用所使用的权限来开发此应用。请告诉我如何识别其他应用程序使用的权限。
我需要开发一个安卓应用程序来检测恶意软件。
我想根据所有已安装应用所使用的权限来开发此应用。请告诉我如何识别其他应用程序使用的权限。
您可以通过以下方式获取所有已安装应用程序的权限。
- 获取所有已安装的应用程序
- 迭代每个应用程序
- 获取每个应用程序的权限列表
- 迭代每个权限
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();
}
}
您可以使用此REST API获取有关应用程序的详细信息,包括应用程序需要的权限。例如,要查看WhatsApp要求哪些权限,请在此GET请求的响应中找到“permissions”节点: http://playstore-api.herokuapp.com/playstore/apps/com.whatsapp
有关如何调用此API的更多说明,请参见GitHub页面。
packageInfo.requestedPermissions
дјљдёєз©єпјџ - Anubian Noob