0

我想跟蹤用戶在特定的時間和天數。我每隔2分鐘開始一次鬧鐘管理員(我從服務器獲取週期時間,這在我的應用程序中是動態的),並嘗試獲取一分鐘的位置,之後我停止了獲取位置,並保存了在數據庫上的位置。無論如何,這種方法運行得非常好,但在api level 23及以上版本中,我的打盹和待機模式應用程序無法正常運行,並且無法在特定時間內調用鬧鐘!我使用了setExactAndAllowWhileIdle的方法對於23級以上的api級別,但效果不好。定期跟蹤用戶打瞌睡模式

文件說,我不能在休眠模式和待機模式下使用更多的報警。 我的問題是,如何跟蹤Android 6及以上的用戶?

回答

0

在睡眠中使用警報時,請使用setAlarmClock()而不是set(),因爲它是專門爲AlarmClocks設計的,所以即使在打瞌睡時也可以運行。

另外,

你有沒有聽說過Firebase-job-dispatcher

Firebase JobDispatcher是一個開源庫,提供類似於Android平臺中的JobScheduler的API 。 Firebase JobDispatcher充當適用於Android版本低於5.0(API級別21)的應用程序 的JobScheduler兼容性層。

火力地堡JobDispatcher支持使用谷歌的Play服務,因爲一個 實施調度(運行)的工作,但是庫也 允許您定義和使用其他實現方式:例如,您 可能決定使用的jobscheduler或編寫自己的自定義代碼。 由於這種多功能性,如果您的應用的目標版本低於5.0 (API等級21),我們建議您使用此Firebase JobDispatcher。

你應該爲此付出。他們也有相當不錯的配置技巧。

+0

謝謝,但我的程序在api level 23和更低的版本中工作良好。我的問題是在api level 23 ..爲此我想,我不需要使用這個庫。 – Fahim

+0

是的,在'alarmManager'的情況下,請檢查'setAlarmClock()'。看我的編輯。 – Wizard

+0

setAlarmClock向用戶顯示通知,但我不想向用戶顯示任何通知等。 – Fahim