0

我正在通过这种方法设置警报管理器:

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);
    }

通过这种方法,我在固定的时间后发送特定数量的短信。但是这种方法并不能保持一致。特别是当进入睡眠模式时它不起作用。我怎样才能使它连续,它也会在睡眠模式下工作?

4

1 回答 1

0

AlarmManagerwith a _WAKEUPalarm 仅保证在您使用getBroadcast() PendingIntent.

如果您的工作只需要几毫秒,请切换ServiceBroadcastReceiver.

如果您的工作需要超过几毫秒,请考虑使用 myWakefulIntentService,它提供了一种模式,可以让_WAKEUP警报可靠地完成工作。

于 2012-04-24T13:53:55.287 回答