从 Android 应用程序启动 Google 地图和导航器

2024-01-21

我有一个 Android 应用程序,它允许用户打开谷歌地图或导航器来显示某个地址。此功能过去是有效的,但现在我收到以下错误并且应用程序崩溃:

错误/AndroidRuntime(2165): android.content.ActivityNotFoundException: 找不到处理 Intent 的 Activity { act=android.intent.action.VIEW dat=google.navigation:q=MCNAMARA+TERMINAL+ROMULUS+MI+48174 }

我使用的两个意图是-

1) 对于地图:

    String uri = "geo:0,0?q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";        
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(i); 

2) 对于导航器:

    String uri = "google.navigation:q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(i); 

你的第一个Intent在许多设备上应该没问题,因为那是记录并支持 http://developer.android.com/guide/appendix/g-app-intents.html.

您的第二个意图既没有记录也不支持 AFAIK,因此您不应该使用它。

另外,请记住,并非所有 Android 设备都有 Google 地图或导航。使用PackageManager and queryIntentActivities()以确定是否有任何东西会对您做出回应Intent,然后根据需要禁用 UI 路径,以防止用户遇到异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Android 应用程序启动 Google 地图和导航器 的相关文章

随机推荐