這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Android應(yīng)用中無法設(shè)置鬧鐘的啟動時(shí)間如何解決,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),四方臺網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:四方臺等地區(qū)。四方臺做網(wǎng)站價(jià)格咨詢:13518219792Android開發(fā)中,alarmManager在5.0以上系統(tǒng),啟動時(shí)間設(shè)置無效的問題
做一個(gè)app,需要后臺保持發(fā)送心跳包。由于鎖屏后CPU休眠,導(dǎo)致心跳包線程被掛起,所以嘗試使用alarmManager定時(shí)喚醒Service發(fā)送心跳包。
以下是開啟alarmManager的代碼
//開啟輪詢服務(wù) public static void startPollingService(Context context, int seconds, Class<?> cls,String action) { //獲取AlarmManager系統(tǒng)服務(wù) AlarmManager manager = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); //包裝需要執(zhí)行Service的Intent Intent intent = new Intent(context, cls); intent.setAction(action); PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); //觸發(fā)服務(wù)的起始時(shí)間 long triggerAtTime = SystemClock.elapsedRealtime(); //使用AlarmManger的setRepeating方法設(shè)置定期執(zhí)行的時(shí)間間隔(seconds秒)和需要執(zhí)行的Service manager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerAtTime, seconds * 1000, pendingIntent); }