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 用户权限 )

android 21 是啥版本

Android逆向-Android基础逆向(2-2)

【Android笔记】android Toast

图解Android - Android核心机制

Android游戏开发大全的目录