美文网首页
Android笔记之BroadcastReceiver

Android笔记之BroadcastReceiver

作者: 卖梦想的男孩 | 来源:发表于2017-03-03 11:15 被阅读16次

    广播是一种组件之间交叉信息的交流方式,包括app内,app间以及系统范围内。

    创建广播接收者

    继承自BroadcastReceiver实现其onReceive方法即可。

    注:广播虽然强大也有其限制的地方,运行在主线程,因此不可长时间处理堵塞的代码

    注册广播接收者

    • 声明式
      AndoridManiftest.xml中声明<receiver/>组件。
    • 代码式
    IntentFilter filter = new IntentFilter();
    //filter config
    Context.registerReceiver(reciever, filter);
    

    注销广播接收者

    注销广播只针对代码注册的,声明式的广播由系统来管理

    Context.unregisterReceiver(reciever)
    

    发送广播

    • sendBroadcast
      发送一个Intnet广播
    • sendBroadcastAsUser
      需要权限INTERACT_ACROSS_USERS
      指明广播所属的用户,暂时不向应用开放使用
    • sendOrderedBroadcast
      发送顺序广播,接手顺序由intent-filter的priority决定,-1000~1000
    • sendStickyBroadcast
      需要权限android.permission.BROADCAST_STICKY
      广播发送后会保存起来,等到下次注册Receiver的时候自动发送。
      出于安全原因,已被废弃。

    相关文章

      网友评论

          本文标题:Android笔记之BroadcastReceiver

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