Возможно ли внедрение SensorEventListener в BroadcastReceiver?

Почему у меня не может быть класса, расширяющего BroadcastReceiver и реализующего SensorEventListener? Этот класс получает намерения тревоги, установленные в моем приложении.

У меня есть переменная экземпляра класса, которая устанавливается внутри реализованного метода onSensorChanged. В методе onReceive я регистрирую слушателя, у меня есть цикл while, который выполняется до тех пор, пока не будет установлена ​​переменная экземпляра класса. После цикла я отменяю регистрацию слушателя. Но переменная никогда не устанавливается, и цикл продолжает работать.

Согласно ответу здесь я никогда не должен регистрировать слушателя внутри широковещательного приемника:

BroadcastReceiver с прослушивателем разряжает аккумулятор, когда он не используется

В документации AlarmManager есть все эти предупреждения о спящем устройстве, но в моем случае оно никогда не спит.


person jsstp24n5    schedule 15.09.2012    source источник


Ответы (1)


Согласно этому сообщению:

AlarmManager и BroadcastReceiver вместо Service - это плохо ? (Тайм-аут)

метод onReceive запускается в основном потоке приложения и не может выполнять много работы, либо время ожидания истекает. Я могу просто исправить свою проблему, переместив рабочую нагрузку в IntentService.

person jsstp24n5    schedule 16.09.2012