alarm 鬧鐘開機時判斷

/device/qcom/common/init/init_msm.c:

{
    char *alarm_file = "/proc/sys/kernel/boot_reason";
    char buf[BUF_SIZE];
    char tmp[PROP_VALUE_MAX]="";

    property_get("ro.boot.alarmboot", tmp);

    if(read_file2(alarm_file, buf, sizeof(buf))) {

    /*
     * Setup ro.alarm_boot value to true when it is RTC triggered boot up
     * For existing PMIC chips, the following mapping applies
     * for the value of boot_reason:
     *
     * 0 -> unknown
     * 1 -> hard reset
     * 2 -> sudden momentary power loss (SMPL)
     * 3 -> real time clock (RTC)
     * 4 -> DC charger inserted
     * 5 -> USB charger insertd
     * 6 -> PON1 pin toggled (for secondary PMICs)
     * 7 -> CBLPWR_N pin toggled (for external power supply)
     * 8 -> KPDPWR_N pin toggled (power key pressed)
     */
        if(buf[0] == '3' || !strcmp(tmp,"true"))
            property_set("ro.alarm_boot", "true");
        else
            property_set("ro.alarm_boot", "false");
    }

AMS systemReady函數中:

startHomeActivityLocked(mCurrentUserId, "systemReady");

// start the power off alarm by boot mode
boolean isAlarmBoot = SystemProperties.getBoolean("ro.alarm_boot", false);
if (isAlarmBoot) {
    startAlarmActivityLocked();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章