如何在android中设置报警管理器一​​致?

时间:2012-04-24 12:25:20

标签: java android alarmmanager

我正在通过这种方法设置闹钟管理器:

public void setAlarmManager(Context context, Intent intent, long repeat) {

        PendingIntent pendingIntent;
        pendingIntent = PendingIntent.getService(context, 0, intent, 0);

        AlarmManager alarmManager = (AlarmManager) context
                .getSystemService(context.ALARM_SERVICE);

        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.add(Calendar.SECOND, 10);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                calendar.getTimeInMillis(), repeat, pendingIntent);
    }

通过这种方法,我会在一段固定的时间后发送一个特定数字的短信。但是这种方法不能保持一致。特别是当进入睡眠模式时,它不起作用。我可以继续这样做它也可以在睡眠模式下工作吗?

1 个答案:

答案 0 :(得分:0)

带有AlarmManager警报的

_WAKEUP仅保证如果您使用getBroadcast() PendingIntent,它会保持设备清醒。

如果您的工作只需要几毫秒,请将Service切换为BroadcastReceiver

如果您的工作耗时超过几毫秒,请考虑using my WakefulIntentService,它提供了一种模式,允许_WAKEUP警报可靠地完成工作。