当前位置: 首页 > 知识库问答 >
问题:

无法确定Android设备上是否安装了Google play store

龙玺
2023-03-14
private static final String GooglePlayStorePackageName = "com.google.market";

void someMethod() {
    packageManager = getApplication().getPackageManager();
    List<PackageInfo> packages = packageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
    for (PackageInfo packageInfo : packages) {
        if (packageInfo.packageName.equals(GooglePlayStorePackageName)) {
            googlePlayStoreInstalled = true;
            break;
        }
    }
}

包名称更改了吗?或者我看错了方向?

谢谢,

亚当。

protected final boolean isPackageInstalled(String packageName) {
    try {
        application.getPackageManager().getPackageInfo(packageName, 0);
    } catch (NameNotFoundException e) {
        return false;
    }
    return true;
}

共有1个答案

武博艺
2023-03-14

请注意,这几乎5年的代码是不是最优的,谷歌不喜欢当你检查所有安装的软件包没有充分的理由。请同时检查其他答案。

包名已更改,现在是com.android.vending

尝试:

private static final String GooglePlayStorePackageNameOld = "com.google.market";
private static final String GooglePlayStorePackageNameNew = "com.android.vending";

void someMethod() {
    PackageManager packageManager = getApplication().getPackageManager();
    List<PackageInfo> packages = packageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
    for (PackageInfo packageInfo : packages) {
        if (packageInfo.packageName.equals(GooglePlayStorePackageNameOld) ||
            packageInfo.packageName.equals(GooglePlayStorePackageNameNew)) {
            googlePlayStoreInstalled = true;
            break;
        }
    }
}
 类似资料:
  • 我正在检查我的应用程序中是否安装了Google Play,但似乎没有办法。我遵循了这里的帖子,但仍然不起作用,始终返回true即使我使用模拟器进行测试,它已经安装了com.android.vending。那么,我是否检查了错误的包名?有什么想法吗? 提前感谢!

  • 问题内容: 我想为我的Android应用添加状态栏通知。安装该应用后,该通知应显示在状态栏上。我为应用程序提供了后台服务,可以在其中放置通知代码。仅在安装应用程序后,如何触发通知? 解决该问题的任何见解将非常有帮助。 谢谢。 问题答案: 仅在安装应用程序后,如何触发通知? 你不能做这个。安装后,任何代码都不会立即运行。

  • 无法在我的手机上安装已签名的发行版APK,也无法将其上载到Play Store上。 我创建了一个带有V1和V2 JAR签名复选框的签名发行版APK。当我尝试将APK放在我的手机上并安装它时: 未安装应用程序 没有JAR签名。 我使用的是Android Studio3.3版本,我正在处理一个Play Store Jar签名错误(重复选中V1和V2复选框,并且都选中了)。 播放存储错误: 这可能是一个

  • 当有多个android设备通过ADB连接时,有没有一种方法可以运行命令'ant debug install'? 我目前有两个设备通过WiFi连接到ADB。当我运行ant debug install时,我会遇到以下无限错误。 有没有一种方法可以同时安装到两个设备上?

  • 我使用新的Android应用程序包格式构建了我的项目。有了APK文件,我可以把APK下载到我的设备上,打开它,然后立即安装应用程序。我下载的应用程序是一个捆绑包(.aab格式),我的Nexus 5x运行Android8.1无法打开文件。有没有什么方法可以像APKs一样方便地在设备上安装AABs?

  • 正在下载https://dl.google.com/android/repository/emulator-darwin_x64-7243153.zipnet。SocketException:连接重置警告:在准备Android模拟器的SDK包时出错:连接重置。“安装Android模拟器(修订版:30.5.4)”失败。 当我试图在我的macbook pro m1上安装android Studio时显