Android笔记之BroadcastReceiver

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

创建广播接收者

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

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

注册广播接收者

  • 声明式
    AndoridManiftest.xml中声明组件。
  • 代码式
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)