我一直在寻找一个安静的解决方案,但是我很幸运
问题:
我有谷歌地图在具有更新的谷歌播放服务的设备上完美运行,但是我们尝试运行应用程序旧设备,它需要更新谷歌播放服务! 这对我们的商业计划和位置并不好,我们希望该应用程序可以在Android 4.1的所有设备上运行,无论哪个谷歌播放服务版本!
我尝试过的事情:
我试图将清单中的gms版本的值更改为文字整数值,但它会在编译时带来错误
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
我尝试从Android SDK Manager下载旧版本的google play服务但是没有这样的选项
我试图改变这一点:
// Google Maps
compile 'com.google.android.gms:play-services-maps:9.0.2'
到此:
// Google Maps
compile 'com.google.android.gms:play-services-maps:5.+'
并且这些都没有奏效! 我并不真正关心最新的谷歌播放服务的新功能,我唯一关心的是这个应用程序是在4.1 Jelly的所有Android设备上工作。 提前感谢您的帮助和时间。
答案 0 :(得分:0)
我自己遇到了这个问题。它可以影响相对较新的设备。我找到的最佳解决方案是检查Google Play服务是否需要更新,并提供在尝试显示地图之前执行此操作。至少那时用户不必自己弄清楚如何做到这一点。
final GoogleApiAvailability api = GoogleApiAvailability.getInstance();
final int status = api.isGooglePlayServicesAvailable(activity);
if(status == ConnectionResult.SUCCESS) {
// continue initializing whatever
}
else if(api.isUserResolvableError(status)) {
api.getErrorDialog(activity, status, REQUEST_UPDATE_GOOGLE_PLAY).show();
}
else {
// tell the user they can't use your app
}
将来,我会避免使用Google地图。