2

ユーザーがGoogleマップまたはナビゲーターを開いて特定の住所を表示できるようにするAndroidアプリケーションがあります。この機能は以前は機能していましたが、現在は次のエラーが発生し、アプリがクラッシュします。

エラー/AndroidRuntime(2165): android.content.ActivityNotFoundException: Intent を処理するアクティビティが見つかりません { act=android.intent.action.VIEW dat=google.navigation:q=MCNAMARA+TERMINAL+ROMULUS+MI+48174 }

私が使用している2つの意図は-

1) マップの場合:

    String uri = "geo:0,0?q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";        
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(i); 

2) ナビゲーターの場合:

    String uri = "google.navigation:q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(i); 
4

2 に答える 2

7

文書化され、サポートされているため、最初Intentのデバイスは多くのデバイスで問題ないはずです。

2番目のインテントは文書化もサポートもされていないため、使用しないでください。

また、すべての Android デバイスに Google マップやナビゲーションが搭載されているわけではないことにも注意してください。と を使用PackageManagerqueryIntentActivities()て に何かが応答するかどうかを判断しIntent、必要に応じて UI パスを無効にして、ユーザーが例外に遭遇しないようにします。

于 2010-08-18T23:37:54.067 に答える
0

Navigator を開始する意図:

Intent navigation = new Intent(Intent.ACTION_VIEW, Uri.parse(“http://
maps.google.com/maps?
saddr=42.35892,-71.05781&daddr=40.756054,-73.986951”));
 startActivity(navigation);

詳細については、こちらをご覧ください

于 2012-10-17T12:37:25.690 に答える