2012-05-09 1 views
0

Я регистрирую широковещательный приемник, который будет активирован, когда экран выключен. Приемник выполняет короткую синхронную операцию в OnReceive. Эта операция должна выполняться в моем приложении до того, как устройство будет спать.Необходим ли вам вакелок в широковещательном приемнике для ACTION_SCREEN_OFF

Мой вопрос: мне нужно приобрести wakelock здесь, или это гарантирует, что Android позволит моему приемнику закончить метод OnReceive? Мой код занимает несколько миллисекунд для запуска, но, скажем так, для обсуждения требуется 1 секунда.

Я использую этот код, чтобы зарегистрировать приемник:

BroadcastReceiver receiver = new MyReceiver(); 
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); 
context.registerReceiver(receiver, filter); 

я не мог найти ответ в документации или с помощью функции поиска, так что я был бы признателен за любую помощь, спасибо!

+0

Я использую SCREEN_OFF-Intent без wakelock без проблем (код всегда выполняется нормально), но не может дать вам определенного ответа – Nick

ответ

1

Да устройство может спать. Нозаз, почему вы получаете шанс? Лучше освоить Частичный wakelock и отпустить его в конце onReceive.