Android在特定时间后开始/停止重复线程

时间:2016-09-22 09:47:08

标签: java android multithreading scheduled-tasks

我需要一个30秒后重复加载来自Web服务数据的线程。 我想停止并启动线程onResume和onPause,以便它在屏幕处于活动状态时运行,并在活动暂停时禁用它。重启简历。

new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            dataIfInternet(refreshTop);
        }

    }, 30000);

暂停活动时如何停止。

1 个答案:

答案 0 :(得分:0)

你无法暂停处理程序,所以你需要在onPause取消它并在onResume

中再次发帖

所以你可能想要这样的东西:

private Handler myHandler = new Handler();

onResume()

Runnable myRunnable = new Runnable()
{
    @Override
    public void run() 
    {
        dataIfInternet(refreshTop);
    }
};
myHandler.postDelayed(myRunnable, 30000);

并在onPause()

// Cancel the runnable
myHandler.removeCallbacks(myRunnable);

我希望这能解决你的问题