Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 当线程返回到以前的意图或主页时,如何终止或暂停线程_Multithreading_Loops_Android Intent_Kill Process - Fatal编程技术网

Multithreading 当线程返回到以前的意图或主页时,如何终止或暂停线程

Multithreading 当线程返回到以前的意图或主页时,如何终止或暂停线程,multithreading,loops,android-intent,kill-process,Multithreading,Loops,Android Intent,Kill Process,有一个按钮,线程每30秒启动一个活动。我的问题是,当我开始活动时,我无法取消或暂停它,当我返回上一页甚至主屏幕并显示意图时,它会定期运行。ans同样,当我回来并更改一些设置(如循环持续时间)并按下按钮时,新线程将添加到前一个线程中,并且两个线程都使用循环时间运行 我试图在onPause()或interrupt()中使用finish(),但无法解决问题 Thread timer = new Thread(){ public void run(){ try { web

有一个按钮,线程每30秒启动一个活动。我的问题是,当我开始活动时,我无法取消或暂停它,当我返回上一页甚至主屏幕并显示意图时,它会定期运行。ans同样,当我回来并更改一些设置(如循环持续时间)并按下按钮时,新线程将添加到前一个线程中,并且两个线程都使用循环时间运行

我试图在onPause()或interrupt()中使用finish(),但无法解决问题

Thread timer = new Thread(){
public void run(){
    try {
            webWiew.loadUrl(xxxxxxx);
        sleep(30000);       
    } catch (InterruptedException e) {
        e.printStackTrace();
    }finally{
        Intent runNewIntent =new Intent("The Intent Name");
        startActivity(runNewIntent);
            }
        }
    };
    timer.start();
} 
@Override
protected void onPause() {
    super.onPause();
    finish();
}
我想知道您是否可以告诉我,当我按下键盘或返回按钮或退出程序时,如何停止或终止线程。

检查此
还有这个

你可以试试
timer.interrupt()

我做了timer.interrupt();和Thread.currentThread().interrupt();在onPause()中也是如此,但不幸的是它们不起作用!timer.interrupt();在try而不是finally中创建和启动活动时,在onPause()中工作。谢谢