Android FusedLocationproviderApi requestLocationUpdates 在深度睡眠模式下未运行 pendingIntent
Posted
技术标签:
【中文标题】Android FusedLocationproviderApi requestLocationUpdates 在深度睡眠模式下未运行 pendingIntent【英文标题】:Android FusedLocationproviderApi requestLocationUpdates not running pendingIntent in deep sleep mode 【发布时间】:2015-08-10 09:37:45 【问题描述】:我正在使用requestLocationUpdates
GoogleApiClient client;
LocationRequest request;
PendingIntent callbackIntent;
来自FusedLocationProviderApi
。屏幕开启时,它正常且频繁地工作。
但是,当设备进入睡眠模式时,它不会调用 PendingIntent。如何在睡眠模式下不断获取更新?
【问题讨论】:
【参考方案1】:您是否设法在深度睡眠模式下获取位置? 即使我面临同样的问题。 我观察到我在设备唤醒后收到了位置(在深度睡眠模式期间更新),但带有当前时间戳(唤醒后的时间)。 出于我自己的原因,我将我的应用程序类设置为监听器。而且我不太确定 onLocationChanged() 未命中的原因是否是组件未在深度睡眠模式下运行..在我的情况下是应用程序。
我有一个解决方案 - 您可以让 ALarmManager 定期触发,然后获取唤醒 CPU 的 partial_wakelock 并调用 getLastKnownLocation() 并释放唤醒锁。这似乎不是适合我的情况的解决方案,因为我想要基于位移的位置。
编辑 工作解决方案是http in deep sleep mode。尽管问题无关紧要,但上下文是相同的。以这种方式接收位置也应该有效。
【讨论】:
以上是关于Android FusedLocationproviderApi requestLocationUpdates 在深度睡眠模式下未运行 pendingIntent的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )