我通过以下代码在
MainActivity
的onResume()
中注册一个BroadcastReceiver
:registerReceiver(new CustomBroadCastReceiver, new IntentFilter("com.intent.filter.DATA"));
这很好,但当我的应用程序被强制停止或由Android停止时(为了保护电源/释放内存?),就会出现问题。
然而,应用程序A整天整夜地产生数据。基于这些数据,应用程序B计算进一步的结果,并且应该在读数朝错误方向发展时发出警报。BroadcastReceiver
必须在任何时间点都能够发出警报。
目前最佳实践是什么,以尽可能长时间地保持BroadcastReceiver
的活动状态(甚至可以在用户通过强制停止应用程序时仍然保持活动状态)?
编辑:几个月后,我发现我的三星手机将我的应用程序放在一个省电列表中,该列表会强制而定期地关闭应用程序以节省电力。请确保您自己的手机上没有类似的列表中包含您的应用程序。