0

AndroidアプリからGoogleマップアプリを起動しようとしている非常に単純なテストコードがあります。

以下は私が試しているコードです。

final Button button = (Button) findViewById(R.id.buttonGMaps);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Uri uri = Uri.parse("geo:50.08818,14.42021?z=11"); 
                Intent gmapsIntent = new Intent(Intent.ACTION_VIEW, uri);
                PackageManager packageManager = getPackageManager();
                List<ResolveInfo> activities = packageManager.queryIntentActivities(gmapsIntent, 0);
                boolean isIntentSafe = activities.size() > 0;
                if(isIntentSafe)
                    startActivity(gmapsIntent);

            }

問題は、エミュレーターからこのコードをデバッグまたは実行するたびに、queryIntentActivitiesを介してインテントが見つからないことです。

ここで何が欠けていますか?Uriオブジェクトは問題ないようで、インテント自体は適切に作成されていますが、パッケージマネージャーはインテントアクティビティの中でこれを見つけることができません。

そして、このコードが実行されているメインアクティビティからこのインテントを起動できる可能性はありますか?

4

2 に答える 2

2

ここで何が欠けていますか?

グーグルマップ。エミュレータにはおそらくそれらがありません。「Google API」バージョンの Android を備えたエミュレーター AVD を作成する必要があります。

于 2013-03-05T19:33:58.290 に答える
0

このshared-library-missing-in-androidを見てください。同じ問題だと思います(CommonsWareと同じ解決策)

于 2013-03-05T19:41:52.097 に答える