检测手机用户安装的应用程序是否有使用某权限,手机用户权限
投稿于 被查看 38962 次 评论:12
检测手机用户安装的应用程序是否有使用某权限,手机用户权限
可以用来检测手机上安装的应用程序是否有不安全的权限!
1.[Java]代码
public void getInstalledApps(){ try { /*列出当前设备的所有安装程序*/ List<ApplicationInfo> appInfos = getPackageManager().getInstalledApplications(0); for(ApplicationInfo appInfo : appInfos){ boolean flag = false; //检测是否为用户安装的应用程序 if ((appInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) { flag = true; } else if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { flag = true; } //如果为用户安装的应用程序则检测是否有android.permission.SEND_SMS if(flag && appInfo.enabled){ //检测是否有发送短信权限 String permName = "android.permission.SEND_SMS"; String pkgName = appInfo.packageName; //结果为0则表示使用了该权限,-1则表求没有使用该权限 int reslut = getPackageManager().checkPermission(permName, pkgName); if(reslut == PackageManager.PERMISSION_GRANTED){ Log.d("debug", "ApplicationInfo: "+pkgName+" 有使用权限: "+permName); } } } } catch (Exception e) { e.printStackTrace(); } }
用户评论