当前位置: 首页 > 知识库问答 >
问题:

如何在android上创建在后台进程中设置计时器的程序

令狐阳秋
2023-03-14

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

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

此外,我还想收集调用start和stop的日志数据。例如,在上午9点开始5秒,然后在上午9点06分至9点15分停止,然后在上午9点15分至9点20分开始,并收集每个级别的电池百分比。

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

干杯男孩

共有1个答案

柯国安
2023-03-14

执行后台操作的方式有很多种,但是根据你的描述,使用TimerWG类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运行线程?

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

 类似资料:
  • 关于Java定时器类或ScheduledExecutorService接口,我可以在执行器线程(其他调度器)的运行方法(或TimerTask)内设置调度器(或定时器)吗? 案例研究:我有一个数据库,其中包含歌曲列表(10000首)和播放歌曲的时间表。 所以我想创建一个调度程序(比如1)(周期为1小时),它将搜索数据库,并为计划在一小时内播放的所有歌曲创建调度程序。 一小时后,scheduler1将

  • 我是Android的新手。我想在android中创建后台服务来监听在FireStore中创建的新文档。我已经准备好了所有的代码,但是服务一次又一次地启动。 > 你能告诉我该怎么做才能开始服务一次吗。每当我打开应用程序时,它就会显示>>listener附加在控制台中。我希望它只执行一次,并保持它在后台运行。 FireStoreActivityListener.java signup.java

  • 问题内容: 我正在尝试将Shell脚本移植到可读性更高的python版本。原始的shell脚本在后台使用“&”启动多个进程(实用程序,监视器等)。如何在python中达到相同的效果?我希望这些过程在Python脚本完成后不会消失。我敢肯定它与守护程序的概念有关,但是我找不到如何轻松实现此目的。 问题答案: 注意:此答案的最新版本比2009年发布时要少。现在建议在文档中使用其他答案中显示的模块 (请

  • 问题内容: 如何设置一个计时器(例如2分钟)尝试连接数据库,然后在连接中出现任何问题时引发异常? 问题答案: 因此,答案的第一部分是如何做主题所要求的,因为这是我最初对它的解释方式,并且似乎有人发现有所帮助。此后,问题得到了澄清,我已经扩展了答案以解决该问题。 设定计时器 首先,你需要创建一个计时器(我在java.util这里使用版本): .. 要执行任务,请执行以下操作: 要在持续时间之后重复执

  • 问题内容: 我想从主Java程序中产生一个Java线程,并且该线程应单独执行而不会干扰主程序。应该是这样的: 用户启动的主程序 做一些业务工作,应该创建一个可以处理后台进程的新线程 一旦创建线程,主程序就不要等到生成的线程完成。实际上,它应该是无缝的。 问题答案: 一种简单的方法是自己手动生成线程: 另外,如果您需要产生多个线程或需要重复执行,则可以使用更高级别的并发API和执行程序服务:

  • 我的程序应该使用多线程运行很长时间。我需要为线程设置超时的能力,一旦线程终止,我想重新启动它。这是我的代码: