2012-06-17 20 views
0

我是android编程的新手。我想创建一个定时器程序,可以通过独立定义数据来设置时间。例如,我可以设置5秒启动和10秒来停止第三方程序切换这样的时间,直到电池减少到指定的值(假定100%到90%),然后计时器将停止在90百分。如何创建程序设置定时器在后台进程android

此外,我还想收集调用启动和停止的日志数据时间。例如,早上9点开始5秒,然后在开始9.15至9.20之后的9.06至9点15分停止,并且还收集每个级别的电池百分比。

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

干杯 男孩

回答

2

有很多方法来进行后台操作,而是根据你的描述, 这似乎是一个经典案例使用的TimerTask类+定时调度后台任务:

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/

How do you use a TimerTask to run a thread?

,如果你想成为相互依存的(不重视一些活动,生活周期),而当你的应用程序是在后台运行的任务(您的应用程序的运行没有任何活动) ,那么你应该从一个服务运行计时器任务。在这种情况下 - 屏幕打开或关闭并不重要 - 计时器任务将根据计划执行工作。

+0

您好塔尔卡尔,我试着像你的例子一样编码。它有效,但是当我投入使用并收集日志时。除了当我打开屏幕时,日志没有写入文件。我该怎么办? – user1110973

+0

在日志消息到服务之间没有任何连接,并且屏幕处于打开或关闭状态,除非您的代码执行了导致发生的事情。如果在屏幕关闭时没有看到日志消息 - 这意味着只有没有人(您或系统)在此阶段写入任何内容才能登录。 –

+0

也许如果你会发布你的代码,我可以告诉如果有什么看起来错误 –

相关问题