在BroadcastReceiver中实现SensorEventListener ......有可能吗?

时间:2012-09-15 13:48:59

标签: android broadcastreceiver alarmmanager android-sensors

为什么我不能有一个扩展BroadcastReceiver并实现SensorEventListener的类?该类接收在我的应用程序中设置的警报意图。

我有一个在实现的onSensorChanged方法中设置的类实例变量。在onReceive方法中,我注册了监听器,有一个运行的while循环,直到设置了类实例变量。在循环之后,我取消注册监听器。但是变量从未设置,循环继续运行。

根据答案,我不应该在广播接收器中注册听众:

BroadcastReceiver with a Listener drains battery when not in use

在AlarmManager文档中,有关于设备睡眠的所有这些警告,但就我而言,它永远不会睡觉。

1 个答案:

答案 0 :(得分:0)

根据这篇文章:

AlarmManager and BroadcastReceiver instead of Service - is that bad ? (Timeout)

onReceive方法在主应用程序线程上运行,不能做很多工作或超时。我可以通过将工作负载转移到IntentService来解决我的问题。