android中調(diào)用timer.cancel函數(shù)問(wèn)題

小億
166
2023-12-19 14:16:02

在Android中,可以通過(guò)創(chuàng)建一個(gè)Timer對(duì)象來(lái)調(diào)度定時(shí)任務(wù),并且可以使用Timer.cancel()方法來(lái)取消定時(shí)任務(wù)。

以下是一個(gè)示例代碼:

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {
    private Timer timer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 創(chuàng)建一個(gè)Timer對(duì)象
        timer = new Timer();

        // 創(chuàng)建一個(gè)TimerTask對(duì)象
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                // 定時(shí)任務(wù)的邏輯代碼
                Log.d("MainActivity", "定時(shí)任務(wù)執(zhí)行");
            }
        };

        // 使用timer.schedule方法來(lái)調(diào)度定時(shí)任務(wù)
        // 第一個(gè)參數(shù)是TimerTask對(duì)象,
        // 第二個(gè)參數(shù)是延遲執(zhí)行的時(shí)間(以毫秒為單位),
        // 第三個(gè)參數(shù)是定時(shí)執(zhí)行的間隔時(shí)間(以毫秒為單位)
        timer.schedule(task, 0, 1000);
        
        // 取消定時(shí)任務(wù)
        // 這里使用timer.cancel()方法來(lái)取消定時(shí)任務(wù)
        // 注意:Timer.cancel()方法將終止整個(gè)定時(shí)器,包括之前已經(jīng)調(diào)度的所有任務(wù)
        // 如果只想取消當(dāng)前調(diào)度的任務(wù),可以使用TimerTask.cancel()方法來(lái)取消當(dāng)前任務(wù)
        timer.cancel();
    }
}

在上面的示例代碼中,我們創(chuàng)建了一個(gè)Timer對(duì)象,并使用timer.schedule方法來(lái)調(diào)度定時(shí)任務(wù),然后使用timer.cancel方法來(lái)取消定時(shí)任務(wù)。注意,Timer.cancel方法將終止整個(gè)定時(shí)器,包括之前已經(jīng)調(diào)度的所有任務(wù)。如果只想取消當(dāng)前調(diào)度的任務(wù),可以使用TimerTask.cancel方法來(lái)取消當(dāng)前任務(wù)。

0