1.广播的定义
广播接收器组件是很小的组件,负责监听接受应用发出广播消息,并做出响应。
特点
1)生命周期很短:调用对象 -> 执行 onReceive 方法 -> 结束
2)应该在主线程中构造
3)如果10秒内onReceive方法没有执行完,系统任务程序没有响应
2.接受系统广播
两种方式:静态注册和动态注册
动态注册:
InternetFilter internetFilter = new InternetFilter();
internetFilter .addAction("android.net.conn.CONNECTIVITY_...")
NetworkChangeReceiver net = new NetworkChangeReceiver();
this.registerReceiver(net,intent)
1)动态注册:需要定义一个继承自BroadcastReceiver类的子类,该接收器需要在Activity中的onDestroy中注销
2)静态注册:通过在AndroidManifest.xml中配置
3.自定义广播
两种广播形式:有序广播和无序广播
1)无序广播:接受标准广播的接收器将同时收到广播消息,异步执行,没有先后顺序 sendBroadCast
2)有序广播:sendOrderedBroadCast,按照一定顺序先后被接受顺序,由priority属性决定,abortBroadCast中断广播
4.使用本地广播
如果只想在本应用中发送和接受广播,使用LocalBroadcastReceiver来对广播进行管理
本地广播不支持静态注册
优点:安全高效
5.服务
Service是Android中的一种组件,和Activity的级别一致,但不能自己运行,只能后台运行,和其他组件交互,服务必须注册才能使用
6.服务的两种模式
本地服务:服务依附在主线程中,节约资源,主线程死掉服务终止
远程服务:服务在独立进程中,灵活性好 ,占用资源高
7.生命周期
两种服务的启动模式:
1)start方式:调用者和服务之间没有关联,调用者退出不会影响服务,startService启动服务,如果服务不存在,调用onCreat方法,然后onStartCommand被调用。stopService关闭服务,onDestroy方法被调用
2)bind方式:调用者和服务绑定,调用者退出,服务终止bindService启动服务,onCreate方法创建服务,onBind方法绑定服务,onUnbind方法解绑,onDestory在服务结束时调用
网友评论