1

2.3以降のすべてのAndroid携帯にはデフォルトでストリートビューがありますか、それともストリートビューをダウンロードしてインストールする必要がありますか. 私が尋ねている理由は、アプリケーションでストリートビューを使用していて、

private boolean isIntentAvailable(Intent intent) {
    final PackageManager packageManager = mapView.getContext().getPackageManager();
    List<ResolveInfo> list =
            packageManager.queryIntentActivities(intent,
                    PackageManager.MATCH_DEFAULT_ONLY);

    return list.size() > 0;
}

デバイスでストリートビュー アプリケーションが利用可能かどうかを確認します。問題は、Android 4.1.1 を搭載したモバイルの 1 つではストリートビューが利用可能ですが、それでもこのメソッドは false をスローすることです。しかし、Samsung 、HTC、sony のすべての携帯電話と同様に、私がテストしたほとんどのデバイスで動作します。

4

1 に答える 1

3

すべての Android デバイスに Google アプリがあるわけではありません。コンストラクタに依存します

[編集:]アプリがインストールされているかどうかを確認するには、次を使用できます。

appInstalledOrNot("com.google.android.apps.maps")

メソッドを使用して:

private boolean appInstalledOrNot(String uri) {
        PackageManager pm = getPackageManager();
        boolean app_installed = false;
        try {
               pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
               app_installed = true;
        } catch (PackageManager.NameNotFoundException e) {
               app_installed = false;
        }
        return app_installed ;
}

マップのすべてのバージョンにストリート ビューがあることをどこかで読みましたが、実際には確認できません。よくわかりません。

于 2013-02-12T15:39:37.797 に答える