我試圖使用AlarmManager和PendingIntent每運行一分鐘服務。通過使用setInexactRepeating函數,我可以在除了Samsung Device之外的所有移動設備上運行服務,至今爲止我都測試過。Android AlarmManager問題 - 三星設備
情況1:機器人5.1 - 下面代碼運行每隔1臺最小三星設備和稍後階段它變爲5分鐘間隔
情況2:機器人6.0 - 下面的代碼運行在三星每5分鐘裝置和後一階段仍然相同
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, 1, 1000 * 60, alarmIntent);
三星是Android 5.1 - 登錄
04-17 15:53:06.856 12381-13117/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:54:16.291 12381-13949/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:55:00.036 12381-14679/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:56:01.121 12381-15660/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:57:16.591 12381-16773/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:58:23.066 12381-17318/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 16:01:14.366 12381-19279/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 16:06:13.901 12381-25377/com.example.android.scheduler D/LL_LOG: loadFromNetwork
三星的Android 6.0登錄
04-17 15:27:18.621 12920-31956/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:32:18.681 12920-5003/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:37:18.651 12920-9665/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:42:18.641 12920-10642/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:47:18.831 12920-11739/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:52:18.741 15868-15882/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:57:18.661 15868-17146/com.example.android.scheduler D/LL_LOG: loadFromNetwork
注:由於這裏說的(AlarmManager not working on Samsung devices in Lollipop & Android exact Alarm is always 3 minutes off)我已經把APP的Optimization.Still我的問題仍然是相同的。
我期望解決這個或任何替代方案運行相同的方式服務沒有電池消耗。
with android 6,DozeMode was integrated:https://developer.android.com/training/monitoring-device-state/doze-standby.html – Opiatefuchs