当前位置: 首页 > 面试题库 >

在Android中固定时间后如何重复执行任务?

史和泰
2023-03-14
问题内容

我想每隔5秒重复调用一次方法,每当我希望停止该方法的重复调用时,我可能会停止或重新启动该方法的重复调用。

这是一些我真正想要实现的示例代码。在这方面请帮助我,我将非常感谢您。

private int m_interval = 5000; // 5 seconds by default, can be changed later
private Handler m_handler;

@Override
protected void onCreate(Bundle bundle)
{
  ...
  m_handler = new Handler();
}

Runnable m_statusChecker = new Runnable()
{
     @Override 
     public void run() {
          updateStatus(); //this function can change value of m_interval.
          m_handler.postDelayed(m_statusChecker, m_interval);
     }
};

public void startRepeatingTask()
{
    m_statusChecker.run(); 
}

public void stopRepeatingTask()
{
    m_handler.removeCallbacks(m_statusChecker);
}

问题答案:

使用以下命令设置重复任务:

//Declare the timer
Timer t = new Timer();
//Set the schedule function and rate
t.scheduleAtFixedRate(new TimerTask() {

    @Override
    public void run() {
        //Called each time when 1000 milliseconds (1 second) (the period parameter)
    }

},
//Set how long before to start calling the TimerTask (in milliseconds)
0,
//Set the amount of time between each execution (in milliseconds)
1000);

如果您想取消任务,只需调用t.cancel()这里t就是您的Timer对象

并且您还可以检查答案下方的评论,他们已经提供了有关此内容的简短信息。



 类似资料:
  • 我想每5秒重复调用一个方法,每当我希望停止对该方法的重复调用时,我都可以停止或重新启动该方法的重复调用。 这是一些我真正想实现的示例代码。请在这方面帮助我,我会非常感谢你。

  • 我正在开发一个GUI,它允许用户决定是继续执行脚本还是终止脚本,但如果用户在15分钟内没有响应,我希望关闭窗口并自动执行脚本的其余部分。我用过根。函数中的destroy(),但它仅在用户响应时执行。 我尝试过在试用的基础上使用倒计时功能,但它不起作用,因为没有用户响应控制就不会进入倒计时功能。我有什么办法能完成这项任务吗?

  • 问题内容: 我研究了,但是示例仅涉及使其重现。我正在寻找一种类似的功能,例如说“每个星期一的凌晨1点执行此任务”的功能。 问题答案: 感谢Patrick Altman,最近发布的1.0.3版现在支持此功能。 例:

  • 问题内容: 我研究了,但是示例仅涉及使其重现。我正在寻找一种类似的功能,例如说“每个星期一的凌晨1点执行此任务”的功能。 问题答案: 感谢Patrick Altman,最近发布的1.0.3版现在支持此功能。 例: 请参阅更改日志以获取更多信息: http://celeryproject.org/docs/changelog.html

  • 原文链接:Serverless 应用开发指南:CRON 定时执行 Lambda 任务 在上一篇文章《Serverless 应用开发指南:基于 Serverless 的 GitHub Webhook》里,我们介绍了如何用 Webhook 来触发定时的 Lambda 函数。这种方式与我们平时的 CI(持续集成)服务器相似,而CI(持续集成)服务器除了会监听 PUSH 事件。还会执行一些定时的任务,比如

  • 我有一个Gradle项目,它有来自不同存储库的大量依赖项(,)。在成功执行任务并检查zip存档后,我发现在文件夹中复制了某些JAR: bcprov-jdk14-1.38。jar和bcprov-jdk14-138。罐子 bcmail-jdk14-1.38。jar和bcmail-jdk14-138。罐子 Jar元组具有相同的大小和内容。我想这是因为在不同的存储库中,这些依赖项具有不同的文件名。当执行任