0

スレッドによって 30 秒ごとにアクティビティを開始するボタンがあります。私の問題は、アクティビティを開始したときにキャンセルまたは一時停止できず、前のページまたはホーム画面に戻ってインテントを表示すると定期的に実行されることです。また、戻ってきてループ時間などの設定を変更してボタンを押すと、新しいスレッドが前のスレッドに追加され、両方がループ時間で実行されます。

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();
}

キーボードまたはリターン ボタンを押してアクティビティを終了するか、プログラムを終了するときに、スレッドを停止または強制終了する方法を教えてください。

4

1 に答える 1

0

これを確認してくださいJavaでスレッドを強制終了するにはどうすればよいですか?
そして、これhttp://docs.oracle.com/javase/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html

あなたは試すことができますtimer.interrupt();

于 2012-08-15T09:26:47.250 に答える