2012/03/19

Android:BOOT_COMPLETEDブロードキャストが投げられた後か判定する方法

ACTION_BOOT_COMPLETEDブロードキャストインテントが投げられたかどうかを判定したい
場合は、システムプロパティ"sys.boot_completed"を参照します。

設定元はActivityManagerServiceクラスのfinishBootingメソッド
// Tell anyone interested that we are done booting!
SystemProperties.set("sys.boot_completed", "1");
broadcastIntentLocked(null, null,
        new Intent(Intent.ACTION_BOOT_COMPLETED, null),
        null, null, 0, null, null,
        android.Manifest.permission.RECEIVE_BOOT_COMPLETED,
        false, false, MY_PID, Process.SYSTEM_UID);

BootCompletedが投げられる直前にシステムプロパティ"sys.boot_completed"が"1"に設定
されます。

以上です。