[关闭]
@Faith 2014-12-25T12:25:49.000000Z 字数 852 阅读 3755

Android 5.0开发之本地广播LocalBroadcastManager

已发表

v4包的21版本里新增。(v4包兼容低版本)
之前广播都是全局的,并没有本地进程内的广播,大量应用只需要在本程序内传播广播,并不希望广播被外界进程知晓,现在终于有了办法。

特点:

  1. 本地广播发送后不会离开本app,不用再担心自己程序中数据泄露。

  2. 别的app不能发广播来干扰你的程序,因为你现在的触发器只去接收本地广播了,这样子应该是更安全。

  3. 发本地广播不用通过系统去中转,这样效率会更高。

用法:

之前是用context去调用,sendBroadcast 、registerReceiver 、unregisterReceiver 现在改用 LocalBroadcastManager getInstance (Context context)调这些方法。触发器和过滤器不用变。

代码:

注册

LocalBroadcastManager.getInstance(this).registerReceiver(receiver, intentFilter);

取消注册

LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver);

发送异步广播

LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(MyCastReceiver.ACTION));

发送同步广播

LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(MyCastReceiver.ACTION));

注意:注册和取消注册要放到OnResume和OnPause里。

微信公众账号(manongsuibi),欢迎加关注,内容的话,可能是技术、可能是好东西分享、可能是思想、可能是工作感悟。只是希望把自己的认识传播出去,从而寻找些同频的人,共同学习交流,做码农一个人太孤单。。。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注