Reputation: 6888
I am writing a program in which i am user to launch Google Map in Android, to launch Google Map i am using Intent but getting problem.
Error says:
android.app.Activity.startActivityForResult(Activity.java:3395)
Logcat:-
12-13 15:00:15.620: E/AndroidRuntime(5819): FATAL EXCEPTION: main
12-13 15:00:15.620: E/AndroidRuntime(5819): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=?q=pizza+hut48.89364,2.33739&z=16 }
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1580)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1431)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.app.Activity.startActivityForResult(Activity.java:3434)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.app.Activity.startActivityForResult(Activity.java:3395)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.app.Activity.startActivity(Activity.java:3605)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.app.Activity.startActivity(Activity.java:3573)
12-13 15:00:15.620: E/AndroidRuntime(5819): at com.example.gpstracking.AndroidGPSTrackingActivity$1.onClick(AndroidGPSTrackingActivity.java:41)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.view.View.performClick(View.java:4223)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.view.View$PerformClick.run(View.java:17275)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.os.Handler.handleCallback(Handler.java:615)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.os.Handler.dispatchMessage(Handler.java:92)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.os.Looper.loop(Looper.java:137)
12-13 15:00:15.620: E/AndroidRuntime(5819): at android.app.ActivityThread.main(ActivityThread.java:4921)
12-13 15:00:15.620: E/AndroidRuntime(5819): at java.lang.reflect.Method.invokeNative(Native Method)
12-13 15:00:15.620: E/AndroidRuntime(5819): at java.lang.reflect.Method.invoke(Method.java:511)
12-13 15:00:15.620: E/AndroidRuntime(5819): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)
12-13 15:00:15.620: E/AndroidRuntime(5819): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)
12-13 15:00:15.620: E/AndroidRuntime(5819): at dalvik.system.NativeStart.main(Native Method)
12-13 15:00:23.730: I/Process(5819): Sending signal. PID: 5819 SIG: 9
Code to Launch Google Map, to show nearby PizzaHut using Intent
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
String uriBegin = latitude + "," + longitude;
String uriString = "?q=pizza+hut" + uriBegin + "&z=16";
Uri uri = Uri.parse(uriString);
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri);
startActivity(intent);
Upvotes: 0
Views: 798
Reputation: 1609
To show nearby Pizza Hut restaurants using current Location of user and to launch Google Map without dialog.
If you want to get rid of the dialog you can give the intent a hint as to which package you want to use. Before the startActivity() add this:
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
finally your code should look like this:
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
String uriBegin = latitude + "," + longitude;
String uriString = "https://maps.google.com/?q=pizza+hut&ll=" + uriBegin + "&z=12";
Uri uri = Uri.parse(uriString);
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri);
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
Upvotes: 1
Reputation: 4499
Try this url change query and location parameters accordingly here q is spcifying your query ll is your latitude and longitude and z is for zoom level
https://maps.google.com/?q=pizza+hut&ll=-33.867701,151.208471&z=12
Add this piece of code in your app
Uri uri = Uri.parse("https://maps.google.com/?q=pizza+hut&ll=-33.867701,151.208471&z=12");
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri);
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
Upvotes: 1