若要适配Android11,在清单文件中添加如下权限,不不需要动态申请
1
| <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
|
获取软件包名列表
获取所有软件的包名的列表,然后循环判断
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public static boolean appList(Context context, String appPackName){ PackageManager packageManager = context.getPackageManager(); List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0); for (int i = 0; i < installedPackages.size(); i++) { if (appPackName.equals(installedPackages.get(i).packageName)){ return true; } } return false; }
|
根据包名信息判断
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
@SuppressLint("QueryPermissionsNeeded") public static boolean checkAppInstalled(Context context, String appPackName){ PackageInfo packageInfo = null; try { packageInfo = context.getPackageManager().getPackageInfo(appPackName,0); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return packageInfo != null; }
|