簡體   English   中英

計划運行的啟動僅在啟動時被調用一次

[英]Scheduled runnable invoked only once on startup

我有一個注冊了BroadcastReceiver的Android應用程序,以獲取BOOT_COMPLETED (我具有必需的權限,並且清單中已配置了所有內容)。

得到它后,它會安排一個可運行對象每X分鍾運行一次:

ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(new Runnable() {
    public void run() {

    }
}, 0, 2, TimeUnit.MINUTES);

用戶啟動應用程序時,也會手動調用相同的方法。

  • 手動啟動應用程序時,計划的可運行程序將按預期運行
  • 當應用程序收到BOOT_COMPLETED ,計划的可運行項僅運行一次(成功),然后停止運行,不再運行。 沒有例外,但是它沒有運行。

為什么會這樣呢?

為什么會這樣呢?

因為您的進程已終止,所以將ScheduledExecutorService與它一起使用。

使用AlarmManager定期獲取控制權。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM