在我的应用程序中,我想以固定的间隔记录手机的位置。为此,我有一个TimerTask
定期记录位置,即使在手机ASLEPT ASLEPT时,录制仍在继续。
我的问题是,当Wakelock
不再显示在前景中时,CC_3不会阻止应用程序进入"停止"状态。结果,我的应用程序是定期的,但显然是随机的,被系统销毁(没有崩溃,没有呼叫onDestroy
),并且记录停止。
即使我的应用程序进入后台,我如何继续进行录制过程?
在我的应用程序中,我想以固定的间隔记录手机的位置。
使用AlarmManager
或JobScheduler
以固定的间隔获得控制。使用WakefulBroadcastReceiver
作为警报事件的接收者,并将其委托给获得位置的Service
。请致电stopSelf()
和completeWakefulIntent()
,或者在某个暂停之后获得位置,因为现在可能无法立即获得位置。
或,如果您使用Play Services的Fused位置API,请尝试使用PendingIntent
而不是侦听器的API版本,并且您可以跳过警报。
我有一个定期记录位置的提议
只有在您的过程存在时才能起作用,并且不会那么长。
,即使在手机Aslept
您的用户将是极度对您保持CPU的不断不满并排出电池。