GooglePlayServicesUtil.isGooglePlayServicesAvailable returns SERVICE_INVALID 三星 Galaxy S6 phone

GooglePlayServicesUtil.isGooglePlayServicesAvailable returns SERVICE_INVALID on a stock Samsung Galaxy S6 phone

我是一家拥有多个应用程序的公司的开发人员。我们正在使用 GooglePlayServicesUtil.isGooglePlayServicesAvailable() 检查设备是否在应用程序启动时定期安装 Google Play 服务。我们注意到,有时 - 在两台三星 Galaxy 6 设备上,我们会收到来自 isGooglePlayServicesAvailable(这意味着 "The version of the Google Play services installed on this device is not authentic.")的 SERVICE_INVALID (9) 响应。

由于兼容性原因,我们正在使用旧的 Google 播放服务库 (3.2.65)(我知道,我们应该尽快升级,我们正在努力)。

我们正在谈论 Stock Android 设备,完全更新,没有人以任何方式改变。如果 isGooglePlayServicesAvailable returns 是成功以外的值,我们会向用户显示一条消息,这会在它 returns SERVICE_INVALID 时引起一些混淆,因为应用程序收到 Gcm 消息,尽管这是 "invalid".

有什么想法吗?

顺便说一句 - 这不是 isGooglePlayServicesAvailable returning 9

的副本

谢谢!

希望现在回答还不算太晚;-)

我过去曾使用过三星设备。我也遇到过从 Google 播放库返回的这段代码。我用两种方式处理它:

  1. 多次检查 Google 的播放状态,有时您会收到 "bad" 代码,例如 SERVICE_INVALID。您可以等待几秒钟再检查。

  2. 如果您的检查失败,假设在 3 次尝试后 - 将依赖于 Google Play 库的相关功能标记为不活动,并每 30-60 秒检查一次您的功能是否要检查Google 播放 returns 有效值。

您必须记住,Google play 是一个庞大的服务集合,有时由于内部工作或某些内部状态而无法处理来自应用程序的请求。在几乎所有情况下,它都会在几秒钟或几分钟内再次完全发挥作用。

祝你好运!