Wakelocks和暂停应用程序



在我的应用程序中,我想以固定的间隔记录手机的位置。为此,我有一个TimerTask定期记录位置,即使在手机ASLEPT ASLEPT时,录制仍在继续。

我的问题是,当Wakelock不再显示在前景中时,CC_3不会阻止应用程序进入"停止"状态。结果,我的应用程序是定期的,但显然是随机的,被系统销毁(没有崩溃,没有呼叫onDestroy),并且记录停止。

即使我的应用程序进入后台,我如何继续进行录制过程?

在我的应用程序中,我想以固定的间隔记录手机的位置。

使用AlarmManagerJobScheduler以固定的间隔获得控制。使用WakefulBroadcastReceiver作为警报事件的接收者,并将其委托给获得位置的Service。请致电stopSelf()completeWakefulIntent(),或者在某个暂停之后获得位置,因为现在可能无法立即获得位置。

或,如果您使用Play Services的Fused位置API,请尝试使用PendingIntent而不是侦听器的API版本,并且您可以跳过警报。

我有一个定期记录位置的提议

只有在您的过程存在时才能起作用,并且不会那么长。

,即使在手机Aslept

您的用户将是极度对您保持CPU的不断不满并排出电池。

最新更新