3

フォーム上のAndroidマーケットのURLをmarket://details?id...使用して、Google Playアプリを起動したり、他のアプリをダウンロードしたりできます。
ただし、Google Playアプリが付属していないAndroidデバイス、または削除されたAndroidデバイスを使用している場合、URLを開こうとするとmarket:// ...、「ページを読み込めません」という結果になります。

一般的なエラーメッセージを表示するのではなく、ユーザーにGoogle Playアプリのインストールを提案するために、JavaScriptを使用してGoogle Playアプリが存在しないことを検出する方法はありますか?

申し訳ありませんが、はっきりとは言いませんでした。ネイティブのAndroidアプリではなく、ウェブページで「market:// ..」のURLダウンロードを使用しているため、RaghavSoodの答えは私が望むものではありません。

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 に答える