android - 抑制谷歌地图 Intent 选择对话框

标签 android dialog maps

当我使用这段代码时

   string url = "somegooglemapsurl.com";
   Intent mapLauncherIntent = new Intent(android.content.Intent.ACTION_VIEW,  Uri.parse(url));
   startActivity(mapLauncherIntent);

弹出一个选择对话框,询问我是否要在 map 应用程序或浏览器中打开此 map 。我希望从我的应用程序 Activity 到 Google map 的过渡是无缝的。我怎样才能抑制这个对话框并告诉 android 在 map Activity 中打开 map ?

编辑:当我进入谷歌地图时,我想在某个位置使用公共(public)蒸腾打开一个方向提示。我可以通过谷歌地图 url 执行此操作,但 url 会弹出选择对话框。

最佳答案

我还没有找到完美的解决方案,但这至少会打开带有正确目的地和预选公共(public)交通的 map 。然后用户所要做的就是点击方向按钮。

它还会检查是否已安装谷歌地图,如果已安装则优先使用它。

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?daddr=0,0%20(Imaginary%20Place)&dirflg=r"));
if (isAppInstalled("com.google.android.apps.maps")) {
    intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
}
startActivity(intent);

// helper function to check if Maps is installed
private boolean isAppInstalled(String uri) {
    PackageManager pm = getApplicationContext().getPackageManager();
    boolean app_installed = false;
    try {
        pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
        app_installed = true;
    } catch (PackageManager.NameNotFoundException e) {
        app_installed = false;
    }
    return app_installed;
}

关于android - 抑制谷歌地图 Intent 选择对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560345/

相关文章:

java - Android:为什么我的 onResume() DialogInterface 不断循环?

r - 将特定值与 colorkey levelplot R 中的特定颜色进行匹配

java - 获取字段名称并检查数组列表是否存在?

java - 带有删除和添加通知的自定义数组列表

收到通知时 Android 屏幕亮起

android - 对话框的 onSaveInstanceState/onRestoreInstanceState

android - 如何了解类、方法和导入?

java - 重新提示对话框输入,直到满足猜测数字 -java

google-maps - 历史谷歌静态 map 图像

python - 将 python 字典表示为矩阵或 csv