Sun
Sun

Reputation: 6888

ActivityNotFound - Launching Google Map using Intent

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

Answers (2)

Android
Android

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

Vaibhav Agarwal
Vaibhav Agarwal

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

Related Questions