在任何设备上使用谷歌地图.(没有谷歌播放)

fay*_*lon 11 android google-maps

我正在尝试在Android中的谷歌地图上进行可行性测试.

谷歌地图Android V1

使用MapView时我们必须添加

<uses-library android:name="com.google.android.maps" />
Run Code Online (Sandbox Code Playgroud)

在androidmenifest.xml中.但据我所知,有些设备没有嵌入这个库.因此,应用程序甚至无法安装在这些设备中.

谷歌地图Android V2

在V2中,地图由extra/google_play_services的sdk支持.这种方法更好,但它仍然依赖于谷歌播放服务.如果我卸载该服务,将显示警告消息,如下面的sreenshot.

谷歌地图演示

当我点击按钮时,它崩溃并抛出异常.

android.content.ActivityNotFoundException:找不到处理Intent的Activity {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,它在测试之前也会被卸载来处理Intent.但是意图可以由brower处理而不指定pkg = com.android.vending.

所以..这是我的问题.

  1. 是否有可能通过我自己的应用拦截和处理上述Intent?所以我可以将它传递给浏览者.

  2. 如果不可能,用map开发android应用程序的最佳解决方案是什么.我知道有很多Android设备没有安装谷歌地图或谷歌播放,在使用中崩溃是不可接受的.

mrm*_*uff 5

实际上,问题与使用错误URI的Gingerbread和旧手机有关,如果他们还没有安装Play商店.这不是一个安全的假设.大多数开箱即用的姜饼手机都没有配备它,谷歌更新不一定安装它.这是Google Play服务V2中的已知错误.请参阅有关Google代码的讨论

讨论了解决它的问题,但你需要拦截按钮才能使用它.