不懂Android鬧鐘機(jī)制如何實現(xiàn)定時任務(wù)功能??其實想解決這個問題也不難,下面讓小編帶著大家一起學(xué)習(xí)怎么去解決,希望大家閱讀完這篇文章后大所收獲。
成都創(chuàng)新互聯(lián)是專業(yè)的磐石網(wǎng)站建設(shè)公司,磐石接單;提供網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行磐石網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!Android的鬧鐘實現(xiàn)機(jī)制, 需要調(diào)用AlarmManager.set()將鬧鈴時間記錄到系統(tǒng)中,當(dāng)鬧鈴時間到后,系統(tǒng)會給應(yīng)用程序發(fā)送廣播,我們只需要去注冊廣播接收器就可以了。
本文分三部分講解如何實現(xiàn)鬧鐘:
目錄:
1. 設(shè)置鬧鈴時間;
2. 接收鬧鈴事件廣播;
3. 重開機(jī)后重新計算并設(shè)置鬧鈴時間;
1. 設(shè)置鬧鈴時間(毫秒)
private void setAlarmTime(Context context, long triggerAtMillis) { AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent("android.alarm.demo.action"); PendingIntent sender = PendingIntent.getBroadcast( context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); //鬧鈴間隔, 這里設(shè)為1分鐘鬧一次,在第2步我們將每隔1分鐘收到一次廣播 //int interval = 60 * 1000; //am.setRepeating(AlarmManager.RTC_WAKEUP, timeInMillis, interval, sender); am.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, sender); }