【问题标题】:Find out if Google Play Services can't be updated查看 Google Play 服务是否无法更新
【发布时间】:2025-12-08 10:25:01
【问题描述】:

我有一个已发布且运行良好的应用程序。时不时地,很少有用户给我发帖说应用程序要求他们更新 Google Play 服务,但 Google Play 没有显示更新。这是因为最新版本的 Google Play 服务不再支持他们的设备。

除了检查设备是否运行 Android 2.3 或更高版本之外,还有其他方法可以确定您正在使用的 Google Play 服务版本是否支持设备? (2.3 or higher is quaranteed to have the latest version)

【问题讨论】:

  • 如果您使用尚未到达他们手机的新版本的 google play 服务发布应用程序更新,您也可能遇到此问题。如果您使用的 google play 服务版本不再支持 2.3 以下,您也应该放弃对它们的支持
  • 添加对 2.3 以下版本的支持说起来容易做起来难。之所以如此,是因为我还没有找到任何有关支持的 Android 版本的文档。我不知道要恢复到哪个 Google Play 服务版本,考虑到对最新版本所做的重大更改,恢复任何代码可能需要大量工作,更不用说用应用程序的其余部分更新它了。跨度>
  • 您可以直接从SDK Manager下载兼容2.3以下版本的google play服务
  • 查看评论历史以获取以下答案。我完全忘记了 Froyo 的 Google Play 服务。对我来说还有其他问题,但它们是另一回事。

标签: android google-play-services updates android-version


【解决方案1】:

您可以使用PackageManager 获取在设备上安装的versionCode Google Play 服务(如果存在):

int versionCode = getPackageManager().
                     getPackageInfo("com.google.android.gms", 0).versionCode;

并向用户显示Dialog,但我个人不会对此采取任何行动。如果平台的最新版本是 2.3,只需将 minSdk 设置为 2.3 - 这将消除使用旧版本的用户(这没有什么区别,因为他们无论如何都无法使用您的应用程序)。

编辑

如果您关心 2.3 之前的用户,那么您可以发布针对 Google Play Services for Froyo 构建的单独应用程序。

【讨论】:

  • “他们无论如何都无法使用您的应用程序” 这实际上是不正确的。只有在线部分需要 Google Play 服务。没有它你仍然可以离线运行应用程序,这就是为什么将 minSdk 设置为 2.3 对我来说绝对不行。检查 Google Play 服务版本也无济于事,因为 Google Play 服务会在登录时自动检查兼容性,并在需要时要求用户下载最新版本。问题是即使更新不可用,Google Play 服务也会要求用户更新!
  • “问题是即使更新不可用,Google Play 服务也会要求用户更新” - 这正是我的意思说-他们将无法使用您的应用程序。但请参阅我编辑的答案
  • 哦,是的,Froyo 的 Google Play 服务。完全忘记了那个怪人的存在。它会带来一些其他问题,但它们超出了这个范围。