美文网首页
Android 第六讲 广播接收器和服务

Android 第六讲 广播接收器和服务

作者: 传奇_smash | 来源:发表于2019-04-01 11:49 被阅读0次

    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在服务结束时调用

    相关文章

      网友评论

          本文标题:Android 第六讲 广播接收器和服务

          本文链接:https://www.haomeiwen.com/subject/ffumbqtx.html