系統在開機時會放送 android.intent.action.BOOT_COMPLETED 這個廣播訊息,這就是 receiver 要監聽的。
Receiver 註冊如下:
<receiver android:name=".TestReboot"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>Receiver 程式如下:
public class TestReboot extends BroadcastReceiver { private static final String TAG = "TestReboot"; @Override public void onReceive(Context ctx, Intent intent) { Log.d(TAG, "intent=" + intent); // 讀資料,重新啟動鬧鐘 SendAlarmTester tester = new SendAlarmTester(ctx); tester.sendRepeatingAlarm(); } }另外有兩個比較少發生而會影響到鬧鐘的狀況,就是更改系統時間或時區,都得重新設定鬧鐘,其廣播訊息分別為 android.intent.action.ACTION_TIME_CHANGED 與 android.intent.action.ACTION_TIMEZONE_CHANGED。
所以這個鬧鐘功能無法在關機時運作?只能在待機時有作用?
沒有留言:
張貼留言