我正在尝试在 android 中的谷歌地图上进行可行性测试。
在使用MapView的时候我们要加上
<uses-library android:name="com.google.android.maps" />
在 androidmenifest.xml 中。但据我所知,有些设备没有嵌入这个库。因此,该应用程序甚至无法安装在这些设备上。
在 V2 中, map 由 extra/google_play_services 的 sdk 支持。这种方法更好,但它仍然依赖于 google play 服务。如果我卸载该服务,将出现一条警告消息,如下图所示。
当我点击按钮时,它崩溃并抛出异常。
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://play.google.com/store/apps/details?id=com.google.android.gms flg=0x80000 pkg=com.android.vending }
是因为找不到google play,测试前也卸载了google play来处理Intent。但是浏览器可以在不指定 pkg=com.android.vending 的情况下处理 Intent 。
所以..这是我的问题。
是否可以通过自己的应用程序拦截并处理上述Intent?所以我 可以传递给浏览器。
如果不行,开发android最好的方案是什么 带有 map 的应用程序。我知道有很多安卓设备没有 已安装Google Map或Google Play,使用时崩溃无法解决 可以接受。
最佳答案
实际上,问题与 Gingerbread 和旧手机有关,如果它们尚未安装 Play Store,则使用错误的 URI。这不是一个安全的假设。大多数开箱即用的 Gingerbread 手机都没有附带它,Google 更新也不一定会安装它。这是 Google Play 服务 V2 中的一个已知错误。查看讨论 on Google Code
讨论了绕过它的 hack,但您需要拦截按钮按下才能使用它。
关于android - 在任何设备上使用谷歌地图。 (没有谷歌播放),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817383/