Блокировка пробуждения AlarmManager при запуске службы

Android AlarmManager Javadoc состояния

Когда срабатывает сигнал тревоги, то намерение, которое было зарегистрировано для него, транслируется системой,

Существует AlarmService (пакет com.example.android.apis.app) в поставляемых демоверсиях API. с Android, которые демонстрируют использование AlarmService.

В нем у нас есть следующее (отредактировано для ясности):

PendingIntent mAlarmSender = PendingIntent.getService(AlarmService.this,
            0, new Intent(AlarmService.this, AlarmService_Service.class), 0);
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 30*1000, mAlarmSender);

Итак, в этом примере он не выполняет PendingIntent mAlarmSender = PendingIntent.getBroadcast (...); вместо этого выполняет getService , о котором Javadoc никогда не упоминает.

Причина, по которой я спрашиваю об этом, связана с последствиями блокировки пробуждения ЦП. Javadoc сообщает, что блокировка пробуждения AlarmManger будет снята после возврата широковещательного приемника onReceive () .

Что меня интересует, так это каковы последствия блокировки пробуждения, если вы используете Будильник, как в примере? Javadoc, похоже, не рассматривает это. Во всяком случае, это подразумевает, что вы должны использовать технику широковещательной передачи при установке сигналов тревоги.

8
задан Tim 16 November 2011 в 12:11
поделиться