2015-06-20 50 views
0

我必须编写一个以特定间隔执行任务的应用程序。一项任务包括记录从GPS和其他传感器收集的一些数据,偶尔还会进行SQLite交易。在Android中重复执行后台任务

设备(具有4.4.2 API级别19的智能手表,因此没有可穿戴的支持)在大多数时间都处于睡眠状态,在这种情况下,我希望它唤醒并保持清醒状态,直到任务完成。

什么是在Android中做到这一点的正确和最好的方式,这也是相对容易测试?

非常感谢。

+0

这是几件事的结合 - 一个在后台运行的“服务”,一个用于定时的AlarmManager和一个用于在服务运行时保持设备唤醒的PowerManager。在android文档中阅读它并询问更多特别的问题。 – TDG

回答

0

您需要使用AlarmManager为后台任务,这是一个系统服务,可以在指定的时间间隔,例如呼叫:

AlarmManager myAlarmManager = Context.getSystemService(Context.ALARM_SERVICE). 

约AlarmManager here全部文档。

+0

我如何参数化这些警报?如果我理解正确,BroadcastReceiver实例是从系统创建的,除非将它们耦合,否则它们无法与应用程序的其他组件进行交互。 – Phil