可以以编程方式更新Google Play服务吗?

时间:2016-09-26 09:05:46

标签: android geolocation google-play-services

我正在开发一款需要更新Google Play服务才能获取当前位置(地理定位)的应用,如果它未更新则无法正常运行,使用我的应用的用户可能不知道如何更新它我想知道我是否可以将Google Play服务更新到最新版本或以编程方式更新为“X”版本。 我有这个来检查版本,但我找不到更新谷歌播放服务的方法:

 private void checkGoogleServicesVersion(){
    try {
        PackageInfo packageInfo = getPackageManager().getPackageInfo("com.google.android.gms", 0);
        Log.i("MAINA"," GMS version: "+packageInfo.versionName+" "+packageInfo.versionCode);

        if (packageInfo.versionCode < 9400000){

            // UPDATE GOOGLE PLAY SERVICES
        }
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
}

Pd:这是一个私人应用程序,用户甚至不拥有该设备所以我不应该有安全限制,我只是想让我的用户更容易,如果这是不可能的我会知道一种让用户更容易更新的方法。

1 个答案:

答案 0 :(得分:1)

出于明显的安全原因,这是不可能的。

如果您可以更新任何已安装的应用程序或服务,则可能会影响系统的稳定性。

也许其他一些应用程序依赖于特定版本,您可以通过更改版本来解决这个问题。

另一个原因可能是您在同意更新条款和条件后才能使用较新的版本。用户可能不想同意这些并且没有故意更新。

这就是推理。从技术上讲,系统不允许您启动更新。您可以下载任意APK并要求用户安装(亚马逊为他们的视频服务应用程序执行此操作)。

但您可能希望找到一个低于您要求的PlayServices版本的Fallback解决方案。