android.intent.action. SCREEN_ON не работает фильтром намерения получателя

Я пытаюсь вызвать BroadcastReceiver, когда экран включен. В моем AndroidManifest.xml я указал:

                
                    
                            
                    
                

Однако кажется, что получатель никогда не вызывается (точки останова не стреляют, проигнорированные операторы журнала). Я выгрузил SCREEN_ON для BOOT_COMPLETED для теста, и это действительно становится вызванным.

Это находится в 1.6 (уровень 4 SDK) проект.

Google Code Search показал это, я загрузил проект и синхронизировал его, преобразовал его для работы с последними инструментами, но он также не может прервать то событие.

http://www.google.com/codesearch/p?hl=en#_8L9bayv7qE/trunk/phxandroid-intent-query/AndroidManifest.xml&q=android.intent.action.SCREEN_ON

Это, возможно, больше не поддерживается?

Ранее я смог прервать это событие успешно с вызовом к Context.registerReceiver () как так

registerReceiver(new BroadcastReceiver() {

  @Override
  public void onReceive(Context context, Intent intent) {
    // ... 
  }
}, new IntentFilter(Intent.ACTION_SCREEN_ON));

Однако это было выполнено долго живущим Сервисом. При следовании мудрому совету от CommonsWare я выбрал пытаться удалить долго живущий Сервис и использовать различные методы. Но я все еще должен обнаружить экран прочь и на событиях.

8
задан Jim Blackler 4 April 2010 в 17:27
поделиться

1 ответ

Следуя мудрому совету CommonsWare , я решил попытаться удалить долгоживущие Обслуживание и использование различных методов.

На самом деле, я считаю, что мой совет был скорее голубым ...: -)

Но мне все еще нужно обнаруживать события включения и выключения экрана .

Есть определенные события, для которых Android не хочет запускать новые процессы, поэтому устройство не становится слишком медленным из-за того, что все виды вещей должны выполняться одновременно. ACTION_SCREEN_ON - одно из таких. См. Этот предыдущий вопрос для получения голубых советов по этой теме.

Итак, вам нужно спросить себя: «Я, действительно ли мне нужно контролировать эти события?». Основная команда разработчиков Android хотела бы, чтобы ваш ответ был «нет».

13
ответ дан 5 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: