介绍

BroadcastReceiver:广播接收者,很形象,广播发送,类比生活中的广播,有能力听得到的都可以介绍到这个信息,然后在大脑中反映。对应到Android中就是SendBroadcast和onReceive。

广播之间信息的传递是通过Intent对象来传递的,Intent调用分为显示调用的隐式调用两种。

使用方法

1 . 广播接收者

public class MyReceiver extends BroadcastReceiver {

    public static  final String HELLOACTION = "com.example.mraz.learnbroadcastreceiver.android.intent.action.HELLO";

    public MyReceiver() {
} @Override
public void onReceive(Context context, Intent intent) { String str = intent.getStringExtra("message");
System.out.println("on Reveiver" + str);
}
}

2 . 静态注册

AndroidManifest.xml

<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true"
>
<intent-filter>
<action android:name="com.example.mraz.learnbroadcastreceiver.android.intent.action.HELLO"/>
</intent-filter>
</receiver>

3 . 动态注册

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(MyReceiver.HELLOACTION);
registerReceiver(myReceiver, intentFilter);
unregisterReceiver(myReceiver);//解除注册

测试结果

Demo界面

静态注册方式下:

发送广播->取消注册 ->发送广播

动态注册方式下:

发送广播->注册广播->发送广播-> 取消注册 -> 发送广播

天色已晚,来日再战!!

最新文章

  1. rails: 的cookie小结
  2. 基于Python的函数回归算法验证
  3. EXTJS4自学手册——EXT基本方法、属性(mixins多继承、statics、require)
  4. 【BZOJ】3239: Discrete Logging
  5. SQL 2012 连接失败
  6. (转)iOS Wow体验 - 第六章 - 交互模型与创新的产品概念(1)
  7. sybase从表A创建表B
  8. Luogu P3390 【模板】矩阵快速幂
  9. hdu5988 Coding Contest
  10. nodejs之connect
  11. 解决github网站打开慢的问题
  12. 洛谷 P1457 城堡 The Castle 解题报告
  13. 如何加速tomcat启动速度
  14. windows8.1 初体验
  15. [转]玩转UltraEdit,UE常见快捷键操作
  16. Openstack架构简介(一)
  17. JSP--JDBC技术
  18. jdbc报java.lang.ClassNotFoundException: com.mysql.jdbc.Drive
  19. QT creator 调试问题
  20. 量化交易之 tushare

热门文章

  1. 如何将maven项目打包成可执行的jar
  2. python调用Linux下so文件
  3. hdu1068
  4. streaming kafka direct 详解
  5. 2、Jquery_事件
  6. sqlserver2012——存储过程
  7. C# 字符串转JSON
  8. 洛谷P1038 神经网络
  9. shell括号和linux算术运算
  10. SQL语法:MySQL系列之四