通過廣播接收者來實現定時提醒功能

2021-07-24 05:46:56 字數 904 閱讀 6505

1.首先在應用內通過請求獲取需要提醒的內容資訊及提醒時間。將這些資料儲存在應用的資料庫中。

2.儲存資料庫後,取一周或一月等特定時間段的資料來設定鬧鐘。

alarmmanager am = (alarmmanager) context.getsystemservice(context.alam_service);

intent showintent = new intent("com.***x.notify");

bundle bundle = new bundle();

budle.putserializable("notify",notifyentity);

showintent.putextra("bundle",bundle);

pendingintent pi = pendingintent.getbroadcast(context,notifyentity.hashcode(),showintent,pendingintent.flag_update_current);

am.set(alarmmanager.rtc_wakeu,notifyentity.gettime(),pi);

3.攔截一些低頻的系統廣播,如啟動android.intent.action.boot_completed,日期變更android.intent.action.date_changed,時間設定android.intent.action.time_set,電量低android.intent.action.battery_low,電量正常android.intent.action.battery_okay,當接受到這些低頻廣播取資料庫裡存的資料重新設定鬧鐘,過濾掉已提醒的資料。

4.當鬧鐘時間到了,會發「com.***x.notify」的廣播,攔截此廣播在通知欄做提醒,並將該條已提醒的資料存入已提醒的資料庫中以便後續過濾已提醒資料之用。

廣播接收者

廣播被分為倆種不同的型別,普通廣播和有序廣播,普通廣播是完全非同步的。可以在同一時刻被所有的接收者收到。訊息傳遞的效率比較高,但是缺點是 接收者不能將結果傳遞給下乙個接收者。並且無法終止廣播intent的傳播。然後有序廣播是按照接收者申明的優先級別 申明在intent filter元素的androi...

廣播和廣播接收者

廣播和廣播接收者 1 廣播 就是一對多,就是傳送資訊 2 廣播接收者 就是接收廣播傳送的訊息並做處理 在android中,廣播接收者才是四大元件之一,廣播不是 廣播不會決定誰是接收者,只要是註冊了該廣播,那麼就能成為該廣播的接收者 接收系統傳送的廣播 比如,網路變化,開機狀態,手機的狀態 廣播接收者...

廣播接收者 BroadcastReceiver

廣播接收者 broadcastreceiver 1,什麼是broadcastreceiver?廣播接收者 broadcastreceiver 用於非同步接收廣播intent,廣播intent的傳送是通過呼叫context.sendbroadcast context.sendorderedbroadc...