如何在应用程序后台运行时监听系统广播
一般情况下Broadcast Receiver都是在onResume的时候注册,在onPause的时候注销。如果想要在程序转到后台运行时(此时Activity已经onStop)监听系统广播,如网络连接状态,应该怎么办?现在遇到的问题是,只要在后台运行时遇到监听的广播,很容易出现ANR。大家知道该怎么办吗?还是不应该在这个时候进行监听?又或者应该换一种处理方法?请大家指导一下,谢谢 Broadcast?Receiver ANR
[解决办法]
一般可以在onDestroy()里注销广播,或者使用service,ANR估计不是接收广播的事情 ,应该是接收到之后对UI线程的操作时间过长
[解决办法]
你说的ANR 应该不是有注册或者注销 broadcast receiver 而是由于 坚挺后的动作吧
[解决办法]
注册广播的方式有两种,你可以使用第二种,即在AndroidManifest.xml中注册
<receiver android:name=".ServiceBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>