android获取安装程序的详细权限列表
想要设计一个程序,能获取手机中所有非系统程序的列表,然后点击任意程序还能够知道这个程序申请了哪些权限,求大神指导!...
想要设计一个程序,能获取手机中所有非系统程序的列表,然后点击任意程序还能够知道这个程序申请了哪些权限,求大神指导!
展开
1个回答
展开全部
PackageManager packManager = this.getPackageManager();
List<ApplicationInfo> infos = packManager.getInstalledApplications(PackageManager.GET_ACTIVITIES);
//获取到安装的App列表
Log.i("app", infos.size()+"");
for(ApplicationInfo info: infos){
Log.i("app", "appName--->"+packManager.getApplicationLabel(info)+"");
try {
PackageInfo packInfo = packManager.getPackageInfo(info.packageName, PackageManager.GET_PERMISSIONS);
String permissons [] = packInfo.requestedPermissions;
//获取该app的所有权限
int length = permissons.length;
for(int i = 0 ;i < length ;i ++){
Log.i("app",permissons[i]);
}
} catch (Exception e) {
// TODO Auto-generated catch block
// e.printStackTrace();
}
}
以上是获取系统安装程序列表和对应的权限的方法,知道这些就可以做出来了
List<ApplicationInfo> infos = packManager.getInstalledApplications(PackageManager.GET_ACTIVITIES);
//获取到安装的App列表
Log.i("app", infos.size()+"");
for(ApplicationInfo info: infos){
Log.i("app", "appName--->"+packManager.getApplicationLabel(info)+"");
try {
PackageInfo packInfo = packManager.getPackageInfo(info.packageName, PackageManager.GET_PERMISSIONS);
String permissons [] = packInfo.requestedPermissions;
//获取该app的所有权限
int length = permissons.length;
for(int i = 0 ;i < length ;i ++){
Log.i("app",permissons[i]);
}
} catch (Exception e) {
// TODO Auto-generated catch block
// e.printStackTrace();
}
}
以上是获取系统安装程序列表和对应的权限的方法,知道这些就可以做出来了
更多追问追答
追问
可以给出完整代码么?
追答
上面的代码放到Activity里面就可以运行了,我也是随便在某个Actvitiy中编写的,验证ok才复制过来的.
你是想要已经实现所有功能的工程吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询