0

我是android编程的新手。我想创建一个定时器程序,可以通过独立定义数据来设置时间。

例如,我可以设置 5 秒启动和 10 秒停止第三方程序,它们像这样切换时间,直到电池减少到指定的值(假设 100 到 90%),然后计时器将停止在 90%。

此外,我也想收集调用 start 和 stop 的日志数据时间。例如,在上午 9 点开始 5 秒,然后在上午 9.06 到 9.15 停止,然后在 9.15 到 9.20 开始,并在每个级别收集百分比电池。

当我关闭屏幕时,计时器是否会继续运行或停止,因为 android 进入睡眠模式?如果我关闭屏幕,日志会收集吗?我应该将程序编码为服务以便在后台进程上运行吗?

干杯男孩

4

1 回答 1

2

执行后台操作的方法有很多,但是根据您的描述,使用 TimerTask 类 + Timer 来调度后台任务似乎是一个经典案例:

http://developer.android.com/reference/java/util/TimerTask.html

您也可以通过以下几个示例了解如何使用它:

http://thedevelopersinfo.wordpress.com/2009/10/18/scheduling-a-timer-task-to-run-repeatedly/

http://android.okhelp.cz/timer-task-timertask-run-cancel-android-example/

如何使用 TimerTask 运行线程?

如果您希望任务是相互依赖的(不附加到某些活动的生命周期),并在您的应用程序处于后台时运行(您的应用程序没有正在运行的活动),那么您应该从服务运行计时器任务。在这种情况下 - 屏幕是打开还是关闭都没有关系 - 计时器任务将根据时间表完成工作。

于 2012-06-17T19:42:40.540 回答