3

表单上的 Android 市场 URLmarket://details?id...可用于启动 Google Play 应用程序和下载其他应用程序。
但是,当使用未附带 Google Play 应用程序或已被删除的 Android 设备时,尝试打开market:// ...URL 会导致“无法加载页面”。

有没有办法使用 javascript检测 Google Play 应用程序的缺失,以便向用户建议他/她安装 Google Play 应用程序,而不是显示一般错误消息?

对不起,没有说清楚,我在网页中使用“market://..” url下载,而不是原生的android应用程序,所以Raghav Sood的答案不是我想要的,谢谢。

4

1 回答 1

2

您可以通过尝试以虚拟意图启动它来使用它来检查是否安装了 Google Play:

public boolean hasGooglePlayInstalled() {
    Intent market = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=dummy"));
    PackageManager manager = mContext.getPackageManager();
    List<ResolveInfo> list = manager.queryIntentActivities(market, 0);

    if (list != null && list.size() > 0) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).activityInfo.packageName.startsWith("com.android.vending") == true) {
                return true;
            }
        }
     }
    return false;
}

只需在您的代码中使用它:

if(hasGooglePlayInstalled()) {
    //Open Google Play
} else {
    //Open browser/show message
}
于 2013-03-15T08:33:12.413 回答