利用AlarmManager做定時輪詢

2021-08-15 08:00:31 字數 1030 閱讀 1473

親測有效

在需要寫定時操作的位置  寫入一下**

// 獲取alarmmanager物件

alarmmanager amanager=(alarmmanager)getsystemservice(service.alarm_service);

intent intent =newintent(dialactivity.this, pullfacereceiver.class);

intent.setaction("repeating");

//開始時間

longfirstime= systemclock.elapsedrealtime();

pendingintent sender=pendingintent.getbroadcast(dialactivity.this, 0, intent, 0);

//10分鐘乙個週期,不停的傳送廣播

amanager.setrepeating(alarmmanager.elapsed_realtime_wakeup, firstime, 10*60*1000, sender);

上文中用了

pullfacereceiver

這個類 讓這個類繼承

broadcastreceiver

實現onreceive()

方法即可

需要判斷一下上文中setaction的這個值是否正確

finalbundle bundle = intent.getextras();

if(intent.getaction().equals("repeating"))

}).start();

AlarmManager延遲生效

alarmmanager這個類提供對系統鬧鐘服務的訪問介面。你可以為你的應用設定乙個在未來某個時間喚醒的功能。當鬧鐘響起,實際上是系統發出了為這個鬧鐘註冊的廣播,會自動開啟目標應用。註冊的鬧鐘在裝置睡眠的時候仍然會保留,可以選擇性地設定是否喚醒裝置,但是當裝置關機和重啟後,鬧鐘將會被清除。在alar...

AlarmManager使用總結

下面總結以下我在使用alarmmanager碰到的一些問題。由於心跳是週期性任務,所以我想使用setrepeating方法來執行 void setrepeating int type,long triggeratmillis,long intervalmillis,pendingintent ope...

AlarmManager 鬧鐘服務

alarmmanager簡介 在特定的時刻為我們廣播乙個指定的intent,簡單來說就是我們自己定乙個時間,然後到時間時,alarmmanager會為我們廣播乙個我們設定好的intent,比如指向某個activity或者service。獲得alarmmanager例項alarmmanager ala...