我正在开发一款需要更新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:这是一个私人应用程序,用户甚至不拥有该设备所以我不应该有安全限制,我只是想让我的用户更容易,如果这是不可能的我会知道一种让用户更容易更新的方法。
答案 0 :(得分:1)
出于明显的安全原因,这是不可能的。
如果您可以更新任何已安装的应用程序或服务,则可能会影响系统的稳定性。
也许其他一些应用程序依赖于特定版本,您可以通过更改版本来解决这个问题。
另一个原因可能是您在同意更新条款和条件后才能使用较新的版本。用户可能不想同意这些并且没有故意更新。
这就是推理。从技术上讲,系统不允许您启动更新。您可以下载任意APK并要求用户安装(亚马逊为他们的视频服务应用程序执行此操作)。
但您可能希望找到一个低于您要求的PlayServices版本的Fallback解决方案。