亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在最新的安卓手機上運行后臺工作,如鬧鐘

如何在最新的安卓手機上運行后臺工作,如鬧鐘

鴻蒙傳說 2022-06-30 11:18:02
我有一些任務,比如藥物提醒。日常提醒計劃存儲在 SQLite 數據庫中。提醒每天都不同。例如21.02.19 - 08:00, 12:00, 19:0022.02.19 - 08:30, 12:30, 19:30...最低安卓 4.4 (Api 19) 目標安卓 9.0 (Api 28)我讀到了 WorkManager、JobScheduler、JobIntentService、FirebaseJobDispathcer、Alarm manager。有很多 API 可以做到這一點。首先,我嘗試使用警報管理器每分鐘檢查一次時間間隔。但它在最新的 android 中無法正常工作。有后臺限制,打盹模式和待機。然后我嘗試了 JobScheduler,但它不適用于 21 API 下的設備。而 FirebaseJobDispatcher 需要 google play 服務,這不是一個好主意。最后,我找到了 WorkManager。但是在 workmanager 和 jobscheduler 中的最小間隔為 15 分鐘。如何讓后臺服務每天在特定的準確時間提醒用戶?我沒有使用互聯網、GPS、位置。僅從 SQLite 獲取時間并及時提醒。
查看完整描述

1 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

幾個月前,我也開發了藥物提醒應用程序。

我使用“使用android-job在凌晨 0:00 運行日常工作”方法來實現這一點。

在 DailyJob 中,我們有這個過程。

  1. 在 DB 中獲取一些時間信息

  2. 將(期望時間 - 現在時間)轉換為毫秒。如果現在時間是 00:15AM,而期望時間是 07:00AM,那么它將是 24300000ms。

  3. 在步驟 2 中以轉換后的毫秒數運行精確作業。

在 Exact job 中,我們向用戶顯示通知。

由于隱私,我無法附加代碼,但您可以實現相同的目標。


查看完整回答
反對 回復 2022-06-30
  • 1 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號