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

我想在Android的谷歌地图上做一个可行性testing。

Google Maps Android V1

使用MapView时,我们必须添加

<uses-library android:name="com.google.android.maps" /> 

在androidmenifest.xml中。 但据我所知,还有一些设备没有embedded这个库。 所以应用程序甚至不能安装在这些设备上。

Google Maps Android V2

在V2中,地图由extra / google_play_services的sdk支持。 这种方法更好,但它仍然依靠谷歌播放服务。 如果我卸载服务,将出现如下sreenshot警报消息。

谷歌地图演示

而当我点击button,它坠毁,并抛出一个exception。

android.content.ActivityNotFoundException:未发现处理意图的活动{act = android.intent.action.VIEW dat = http://play.google.com/store/apps/details?id=com.google.android.gms flg = 0x80000 pkg = com.android.vending}

这是因为它无法find谷歌播放,这也是testing之前卸载,以处理意图。 但是意图可以由浏览器处理,而不指定pkg = com.android.vending。

所以..这是我的问题。

  1. 是否有可能通过我自己的应用程序拦截和处理上述意图? 所以我可以把它传给浏览器。

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

Solutions Collecting From Web of "在任何设备上使用谷歌地图。 (没有谷歌播放)"

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

讨论解决这个问题,但是你需要拦截button来使用它。

你需要使用谷歌地图API来运行谷歌地图。 用google api创buildAVD,然后在AVD(Emulator)中运行你的项目。

在这里输入图像说明