将位置模式切换为GPS并返回后,Google Play服务活动识别无效

时间:2014-02-05 08:20:01

标签: android google-play-services activity-recognition

Google Play服务更新至4.1后,我们的应用程序面临一个奇怪的问题。我们在Google Play服务中使用了活动识别功能。如果用户将“位置”模式更改为“仅设备”并返回“省电”,则活动识别客户端将停止提供活动更新。我们试图停止并重新请求更新,但它不起作用。我们发现只有让它重新运行的解决方案才是重新启动手机。

重现的步骤:

  1. 从Android开发者网站下载并运行活动识别示例程序。
  2. 开放系统设置 - >位置 - >模式,将模式更改为仅设备。将其更改为省电。将出现位置同意弹出窗口,按同意。
  3. 返回您的示例程序,您会发现该应用未获得任何活动更新。
  4. 停止更新,再次关闭并打开应用程序,在手机重新启动之前无效。
  5. 我们在Google Play Services 4.2版本中测试了相同的方案。问题在4.2中仍然存在。

    在早于KitKat的手机中,可以通过关闭“使用无线网络”并在位置服务下重新开启来重现同样的问题。

    任何通过此障碍的建议都将受到赞赏。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

使用此标志PendingIntent.FLAG_CANCEL_CURRENT。