簡體   English   中英

使用 android WorkManager 在指定時間內長時間運行服務

[英]long running service in specified time with android WorkManager

想象一下我的應用程序中有一個開關。 當用戶打開它時,我想從那一刻起五個小時后運行廣播接收器,然后在 8 小時后停止廣播接收器。

例如,如果用戶在 09:00 啟用開關,服務將在 14:00 啟用廣播接收器,並在 22:00 禁用它。 事實上,我想使用 android 工作管理器在兩次之間啟用廣播接收器,但我不知道如何。 我應該使用 OnetimeworkRequestBuilder 還是 PeriodicWorkRequestBuilder 以及如何使用? 有什么建議嗎?

並且我在啟用廣播接收器時向用戶顯示通知,所以我認為使用工作管理器更好

您不能對 WorkManager 進行具體說明。 你需要使用AlarmManager:

注意:警報管理器適用於您希望應用程序代碼在特定時間運行的情況,即使您的應用程序當前沒有運行。 對於正常的計時操作(滴答聲、超時等),使用 Handler 更容易、更高效。

https://developer.android.com/reference/android/app/AlarmManager

以下是 WorkManager 的案例:

https://developer.android.com/guide/background

關於 AlarmManager 與 WorkManager 與服務與后台線程的文章:

https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html

暫無
暫無

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

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