我如何知道是否安装了任何导航应用程序(如谷歌Map、yandex navigator等)?

uwopmtnx  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(357)

我需要知道是否安装了任何道路导航应用程序。通常我用 packageManager?.getPackageInfo(PACKAGE, 0) . 但是,对于隐式意图,有没有一种方法可以做到同样的事情呢?

blmhpbnm

blmhpbnm1#

您可以使用packagemanager:

  1. getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);

如果您运行的是android 11及以上版本,则需要以下权限:

  1. <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES">

然后,您可以按如下方式对其进行迭代:

  1. List<ApplicationInfo> currInfo = mPackageManager.getInstalledApplications(PackageManager.GET_META_DATA);
  2. for (ApplicationInfo tmpInf :
  3. currInfo) {
  4. PackageInfo info =
  5. mPackageManager.getPackageInfo(tmpInf.packageName, 0);
  6. if(tmpInf.packageName.equals(PACKAGE_YOU_NEED_TO_CHECK))
  7. // A package you need is installed
  8. }
展开查看全部

相关问题