3

デフォルトのナビゲーション アプリケーション (Google ナビゲーションや Google マップなど) を開くか、ユーザーがナビゲーション アプリケーションを選択できるようにするインテントを開始するにはどうすればよいですか。

前もって感謝します。

4

2 に答える 2

3

ACTION_VIEW とgeoデータスキームでインテントを使用する必要があります。

使用上の問題geo:latitude,longitudeは、Google マップがピンやラベルなしで、ポイントのみを中心にしていることです。

特に正確な場所を指し示したり、道順を尋ねたりする必要がある場合は、非常に混乱します。

ジオポイントにラベルを付けるためにクエリ パラメーターを使用する場合、検索にクエリが使用geo:lat,lon?q=nameされ、緯度と経度のパラメーターは無視されます。

地図を緯度と経度で中央に配置し、カスタム ラベル付きのピンを表示する方法を見つけました。表示するのが非常に素晴らしく、道順やその他のアクションを尋ねるときに役立ちます。

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("geo:0,0?q=37.423156,-122.084917 (" + name + ")");
startActivity(intent);

このインテントは、こちらの公式「G アプリ」インテント リストのリストからのものです

于 2013-01-16T17:16:52.990 に答える
2

試す:

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=New+York+NY")); startActivity(i);

または、これを使用すると、スターダードナビゲーションアプリが起動します。

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345"));
startActivity(intent);

ポップアップダイアログが必要ない場合は、startActivityの前に次の行を追加します。

intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

参照:Androidにアプリケーションがインストールされているかどうかをプログラムで確認するにはどうすればよいですか?およびAndroid:アプリがインストールされたことを検出し、ユーザーが特定のアプリケーションから選択できるように独自のウィンドウを作成できます。

于 2013-01-16T17:15:18.837 に答える