有没有办法从我的应用程序中检查哪个应用程序在android中做了什么。 我的意思是
请提出任何建议,我们将不胜感激。
答案 0 :(得分:3)
您可以做的最好的事情是检查某个应用是否具有执行每项任务所需的权限。以下代码段检索所有已安装应用程序的权限:
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();
}
}
除此之外,仅仅因为应用有权做某事并不意味着它正在这样做。某些权限涵盖多个用户,应用程序可能正在使用其访问权限的一部分。