1

以下を含む主なアクティビティを含む小さなテスト プロジェクトがあります。

String myUri =  "geo:50.08818f,14.42021f?z=11";
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(myUri));
startActivity(intent);

私の Android デバイスには、Google マップと地理スキームを使用するアプリケーションがあります。テスト プロジェクトを実行すると、2 つのオプションを含むポップアップが表示されます。アプリを開きたい場合は、アプリが開き、マップ上の指定された位置が設定されますが、Google マップを選択すると、マップが開き、1 秒後に別の位置が表示されます。アプリが起動し、マップ上の位置を設定します。

私の問題は、他のアプリを選択していないのに、なぜ他のアプリが開くのか理解できないことです。私のアプリのマニフェストのコードは次のとおりです。

<intent-filter >
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="geo" />
</intent-filter>

どんな助けでも大歓迎です、

ありがとう

4

4 に答える 4

2

使用できます:

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);

しかし、ナビゲーターを起動することもできます...


次のものも使用できます。

"google.navigation:q=an+address+city"

Google ナビゲーション用


利用可能なリストは次のとおりですIntent:
http://developer.android.com/guide/appendix/g-app-intents.html

于 2012-09-14T10:23:08.667 に答える
0

緯度と経度は 10 進数である必要があります。

String myUri =  "geo:50.08818,14.42021?z=11";
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(myUri));
startActivity(intent);
于 2012-09-17T09:05:54.230 に答える
0

で動作しました:

String uri = "geo:" + gpsLat + "," + gpsLong + "?q=" + Uri.encode(gpsLat+ "," + gpsLong);
startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri)));

この助けを願っています

于 2014-02-01T16:54:14.587 に答える