后臺實(shí)現(xiàn)定時任務(wù)

關(guān)于使用 AlarmManager 的注意事項(xiàng)
AlarmManager 和 Jobscheduler
Android后臺任務(wù)開發(fā)的發(fā)展和實(shí)踐(二)
Android 進(jìn)程?;钕盗校海ㄈ├枚〞r器和系統(tǒng)廣播
JobService 7.0 定時任務(wù)不生效
JobService 總結(jié)

場景:周期性的啟動Service,執(zhí)行任務(wù)


4.4以上的 6.0以下的.png

4.4

6.0以上的.png
  AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
        Intent i = new Intent(this, MessageService.class);
        PendingIntent pi = PendingIntent.getService(this, 0, i, 0);
        //4.4以上,6.0以下
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            manager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pi);
        }
        //6.0以上
         else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            manager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pi);
        }
        //4.4以下
         else {
            // manager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), triggerAtTime, pi);
            manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pi);
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容