每60秒以编程方式“按下”按钮

时间:2012-03-09 12:56:31

标签: android timer

在我的应用中,我被要求添加自动更新功能。我尝试做的是有一个计时器事件,这样如果用户在最后60秒内没有按下更新按钮,请执行“刷新按钮”。执行点击事件。'

我一直在搜索stackoverflow(和谷歌搜索),但我找不到计时器与UI交互的示例。我不断收到错误,例如只创建了一个视图层次结构的原始线程'。

如果用户按下按钮,我想重置计时器。

这甚至可能吗?

TIA

3 个答案:

答案 0 :(得分:3)

您只能从UI线程与aView进行交互。

你可以在你的计时器任务中做出类似的事情;

  • 在班级中定义此变量:

    Handler handler = new Handler();

  • 在您的计时器任务调用中:

      handler.post(new Runnable(){ 
           public void run(){  
               refreshButton.performClick();  
           }
      });
    

答案 1 :(得分:2)

我认为你的方向是错误的。不要试图按下按钮,只需设置一个计时器来调用按下按钮后调用的相同方法,它会使它变得更简单,并且不会无缘无故地涉及UI。

答案 2 :(得分:0)

您可以使用AlaramManager类和后台服务每60秒运行一次代码。

Here是一个示例,请参阅AlarmService_Service.java