我正在研究一个应用程序,每20分钟将数据发送到服务器。在这里,由于android idle mode
,我发现了一个困难。在idle mode
时期,如下所述,网络访问被禁用对应用程序。因此,在这个时候,我无法与服务器通信。因此,为了克服我找到了full_wake_lock,它将从空闲模式释放设备。但是实际上,每当我们尝试发送数据时,它都会唤醒屏幕。所以我们不需要。因此,我尝试使用partial_wake_lock,这将在屏幕上唤醒CPU。但是在这个时候,网络也禁用。所以我无法发送数据。
我搜索了很多。但是我还没有发现任何好的文章。因此,任何人都可以告诉我,不醒屏幕而避免闲置模式的程序化方法。
谢谢。
也许迟到。https://stackoverflow.com/users/3049065/mahendran-sakkarai,我的情况类似,但对于跟踪系统。一段时间后,我所有的服务处于空闲模式。我尝试了WhiteList
,PartialWakeLock
,不起作用。 ActivityRecognition
和LocationServices
持续了一段时间。
该解决方案通过带有PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED
的意图过滤器的登记册并调用if(isDeviceIdleMode())
,然后调用restart LocationUpdated
。这种解决方法迫使该设备摆脱了空闲状态。