AlarmManager.RTC_WAKEUP在关闭时不会唤醒我的Android设备

时间:2015-03-27 11:18:11

标签: android broadcastreceiver alarmmanager android-pendingintent power-off

我使用下面的代码在我的Android应用程序中安排警报。

/**
     * To set the alarm service to be fire on OFF mode
     */
    public void setOffModeAlarmService() {
        int offModeStartHour = 8;
        int offModeStartMinute = 30;

        Calendar offModeTime = Calendar.getInstance();
        offModeTime.setTimeZone(TimeZone.getTimeZone(Constants.TIME_ZONE));
        offModeTime.set(Calendar.HOUR_OF_DAY, offModeStartHour);
        offModeTime.set(Calendar.MINUTE, offModeStartMinute);

        mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                offModeTime.getTimeInMillis(), AlarmManager.INTERVAL_DAY,
                getOffModeAlarmPendingIntent());
        mAppUtilInstance.logDebugMessage(TAG, "OFF Mode Alarm Scheduled.");
    }

我每天都安排闹钟。但是如果在闹钟时间之前的一段时间关闭我的手机,那么我的手机在预定的时间没有醒来。

即使我尝试使用WakefulBroadcastReceiver并获得了WakeLock。但没有任何帮助。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

不,如果手机关闭,它就无法做任何事情。如果它处于睡眠模式,屏幕关闭且未使用,则警报仍将像其他类型的通知一样起作用。

在旧手机(如nokias)上,当手机关机时,闹钟仍会响铃。这在Android中令人失望