未找到 Activity 来处理 Intent { act=android.intent.action.VIEW dat=google.navigation:q=17.399986,78.483137 pkg=com.google.android.apps.maps }
No Activity found to handle Intent { act=android.intent.action.VIEW dat=google.navigation:q=17.399986,78.483137 pkg=com.google.android.apps.maps }
我正在尝试使用以下代码启动地图。
public static void navigate(Context context, double lat, double lon) {
String locationQuery = lat + "," + lon;
Uri gmmIntentUri = Uri.parse("google.navigation:q=" + locationQuery);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
context.startActivity(mapIntent);
}
但在某些情况下,我没有找到 activity 来处理 Intent 崩溃。我在这里做错了什么。
我想你应该检查一下这个包是否像 this
private boolean isPackageInstalled(String packagename, PackageManager packageManager) {
try {
packageManager.getPackageInfo(packagename, 0);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
如果不是,则打开网页版。或者查看 Google 地图文档。据我所知,地图有办法处理它。
或者您可以通过这种方式检查应用是否可用:
if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}
如果没有安装应用程序,您可以:
1.Redirect 用户 Google 播放
2.Open 浏览器中的地图。
String uri = "http://maps.google.com/maps?saddr=" + sourceLatitude + "," + sourceLongitude + "&daddr=" + destinationLatitude + "," + destinationLongitude;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);
我正在尝试使用以下代码启动地图。
public static void navigate(Context context, double lat, double lon) {
String locationQuery = lat + "," + lon;
Uri gmmIntentUri = Uri.parse("google.navigation:q=" + locationQuery);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
context.startActivity(mapIntent);
}
但在某些情况下,我没有找到 activity 来处理 Intent 崩溃。我在这里做错了什么。
我想你应该检查一下这个包是否像 this
private boolean isPackageInstalled(String packagename, PackageManager packageManager) {
try {
packageManager.getPackageInfo(packagename, 0);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
如果不是,则打开网页版。或者查看 Google 地图文档。据我所知,地图有办法处理它。
或者您可以通过这种方式检查应用是否可用:
if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}
如果没有安装应用程序,您可以:
1.Redirect 用户 Google 播放
2.Open 浏览器中的地图。
String uri = "http://maps.google.com/maps?saddr=" + sourceLatitude + "," + sourceLongitude + "&daddr=" + destinationLatitude + "," + destinationLongitude;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);