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

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

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

blmhpbnm

blmhpbnm1#

您可以使用packagemanager:

getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);

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

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

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

List<ApplicationInfo> currInfo = mPackageManager.getInstalledApplications(PackageManager.GET_META_DATA);
    for (ApplicationInfo tmpInf :
            currInfo) {
        PackageInfo info = 
        mPackageManager.getPackageInfo(tmpInf.packageName, 0);
        if(tmpInf.packageName.equals(PACKAGE_YOU_NEED_TO_CHECK))
           // A package you need is installed
        }

相关问题