您的位置:首页 > 移动开发 > Android开发

Android 四大组件之一 Broadcast广播

2014-03-14 00:43 148 查看
学习自:/article/7553433.html

broadcast介绍:android四大组件之一,用于接收系统和应用中的广播。广播的onReceiver()方法不能再10秒内执行完成,Android就会认为程序无响应,会弹出ANR(Application
No Response)的对话框,因此不能做一些耗时的工作。若要处理一些耗时的工作,建议启动一个service来完成,不建议使用新线程去完成,因为广播生命周期短,可能出现子线程还未结束,广播就已经退出了。

广播的注册方式有两种:一种是静态注册,在AndroidManifest里面注册,这种方式注册的广播,在程序关闭的情况下也可以收到广播。

还有一种是动态注册,在程序内部用代码注册,这种方式注册的广播生命周期和程序的生命周期是一样一样的。

广播的发送有两种方式:sendBroadcast():普通发送广播,所以监听这个广播的都可以收到消息

sendOrderedBroadcast():发送有序广播,按照广播注册时的优先级(android:priority 范围-1000~1000),

从高到底发,高的优先级可以对广播进行数据的处理或终止广播(abortBroadcast)。

1.静态注册:常驻型广播:在androidmanifest.xml当中注册

<receiver>

<intent-filter>

<action android:name="android.intent.action.PICK"/>

</intent-filter>

</receiver>

弊端:始终处于活动状态,对于手机的cpu和电量都不利

2.动态注册:不是常驻型广播:在activity里面注册;

registerReceiver(receiver, filter);

unregisterReceiver(receiver);

广播还可以实现短信监听,电话拦截,系统电量的监听,网络的监听,开机启动等等。

年轻人,要胆大,心里想干什么,喜欢干什么,就去做。不要怕你什么都不会。就算你失败也不会损失什么,你本来就没钱,没经验。因为年轻,就会有很多重头再来的机会。年轻,就不要怕,要大胆尝试。(话说我也是一个年轻人,哈哈哈哈哈~)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: