5

Google Play 服务更新到 4.1 后,我们的应用程序面临一个奇怪的问题。我们在 Google Play 服务中使用活动识别。如果用户将位置模式更改为仅设备并返回到省电模式,活动识别客户端将停止提供活动更新。我们试图停止并重新请求更新,但它不起作用。我们找到使其再次工作的唯一解决方案是重新启动手机。

重现步骤:

  1. 从 Android 开发者网站下载并运行 Activity Recognition Sample 程序。
  2. 打开系统设置 -> 位置 -> 模式,将模式更改为仅设备。将其更改回电池节省。将出现一个位置同意弹出窗口,按同意。
  3. 回到您的示例程序,您会注意到应用程序没有获得任何活动更新。
  4. 停止更新,关闭并再次打开应用程序,直到手机重新启动才能正常工作。

我们在 Google Play Services 4.2 版本中测试了相同的场景。问题在 4.2 中也仍然存在。

在 KitKat 之前的手机中,可以通过关闭“使用无线网络”并在定位服务下再次打开来重现相同的问题。

任何通过此障碍的建议将不胜感激。

4

2 回答 2

4

此问题已在 Google Play 服务的最新更新 (4.3.23 (1069729-030)) 中修复。我们需要做的就是用最新版本(4.3.23(1069729-030))替换库项目“google-play-services_lib”。如果我们切换位置设置,我注意到 AR 更新会延迟大约 1 分钟,但它可以工作。

于 2014-04-09T06:06:40.017 回答
0

使用此标志 PendingIntent.FLAG_CANCEL_CURRENT。

于 2014-05-30T21:42:25.010 回答