Android 将位置模式切换到GPS并返回后,Google Play服务活动识别无法工作

Android 将位置模式切换到GPS并返回后,Google Play服务活动识别无法工作,android,google-play-services,activity-recognition,Android,Google Play Services,Activity Recognition,谷歌Play服务升级到4.1后,我们的应用程序面临一个奇怪的问题。我们在Google Play服务中使用活动识别。若用户将位置模式更改为“仅设备”并返回到“节省电池”,则活动识别客户端将停止提供活动更新。我们试图停止并重新请求更新,但无效。唯一的解决办法,我们发现,使它再次工作是重新启动手机 复制步骤: 从Android开发者网站下载并运行活动识别示例程序 打开系统设置->位置->模式,将模式更改为仅限设备。将其改回节省电池。将出现位置同意弹出窗口,按“同意” 回到您的示例程序,您会注意到应用程

谷歌Play服务升级到4.1后,我们的应用程序面临一个奇怪的问题。我们在Google Play服务中使用活动识别。若用户将位置模式更改为“仅设备”并返回到“节省电池”,则活动识别客户端将停止提供活动更新。我们试图停止并重新请求更新,但无效。唯一的解决办法,我们发现,使它再次工作是重新启动手机

复制步骤:

  • 从Android开发者网站下载并运行活动识别示例程序
  • 打开系统设置->位置->模式,将模式更改为仅限设备。将其改回节省电池。将出现位置同意弹出窗口,按“同意”
  • 回到您的示例程序,您会注意到应用程序未获得任何活动更新
  • 停止更新,关闭并再次打开应用程序,在手机重新启动之前,一切都无法正常工作
  • 我们在Google Play Services 4.2版本中测试了相同的场景。这个问题在4.2中也存在

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


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

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

    使用此标志PendingEvent。标志“取消”当前。

    似乎在Google Play services 4.3中得到了修复!