I have an android application which allows the user to open up google maps or navigator to show a certain address. This functionality was working in the past, but now I get the following error and the app crashes:
ERROR/AndroidRuntime(2165): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=google.navigation:q=MCNAMARA+TERMINAL+ROMULUS+MI+48174 }
The two intents I'm using are-
1) For Map:
String uri = "geo:0,0?q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(i);
2) For Navigator:
String uri = "google.navigation:q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(i);
Intent for starting Navigator:
More details can be found here.
Your first
Intent
should be fine on many devices, as that is documented and supported.Your second Intent is neither documented nor supported AFAIK, and so you should not be using it.
Also, bear in mind that not every Android device will have Google Maps or Navigation. Use
PackageManager
andqueryIntentActivities()
to determine if anything will respond to yourIntent
, then disable UI paths as needed to prevent users from encountering the exception.