静态广播

1.定义

public class TestBroadCast extends BroadcastReceiver {

    @Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "静态注册", Toast.LENGTH_SHORT).show();
}
}

2.注册

 <receiver
android:name=".TestBroadCast"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>

3.发送

 Intent intent = new Intent();
intent.setAction("HELLO");
intent.addFlags(0x01000000); // Android 8.0之后的变化,需要添加之后,静态才能发送广播
sendBroadcast(intent);

动态广播(有序广播)

1.定义

//        定义接收器
broadcastReceiver = new BroadcastReceiver() { @Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "动态注册", Toast.LENGTH_SHORT).show();
}
};

2.注册

//        注册
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("HELLO");
registerReceiver(broadcastReceiver, intentFilter);

3.发送

        Intent intent = new Intent();
intent.setAction("HELLO");
sendOrderedBroadcast(intent,null); // 有序广播的发送

本地广播

        super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this); // 开启本地广播管理
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("TEST");
localBroadcastManager.sendBroadcast(intent);
}
}); IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("TEST");
BroadcastReceiver receiver = new BroadcastReceiver() { @Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "received", Toast.LENGTH_SHORT).show();
}
}; localBroadcastManager.registerReceiver(receiver,intentFilter);

最新文章

  1. Mac版PhpStorm之XAMPP整合apache服务器配置
  2. 【RobotFramework自动化测试】数据库值验证
  3. Windows Server 2012安装时所需要的KEY
  4. Spring mvc 验证码的做法
  5. SPOJ AMR10I Dividing Stones --DFS
  6. javaSE之线程联合
  7. POJ2449 (k短路)
  8. treap树及相关算法
  9. python抓取网页例子
  10. Android开源项目发现----其他特殊效果篇(持续更新)
  11. html5中拨打电话代码
  12. eclipse编码设置
  13. 《深入理解Java虚拟机》-----第5章 jvm调优案例分析与实战
  14. Qt学习3---子窗口与父窗口
  15. 逆向知识第一讲,IDA的熟悉使用
  16. Android一个自定义的进度环:ProgressChart
  17. javascript Uncaught ReferenceError: 方法名 is not defined
  18. 【BZOJ2002】 [Hnoi2010]Bounce 弹飞绵羊
  19. JAVA classpath jar问题[zz]
  20. 【WP8】ResourceDictionary

热门文章

  1. JavaScript基础-03
  2. 《java多线程——线程简介与其创建(1)》
  3. 解决VS Code安装golang相关插件失败问题
  4. python setup.py install 报错【Project namexxx was given, but was not able to be found.】
  5. MySQL数据库时间字段按年月日显示并多字段去重查询
  6. 团队作业4:第二篇Scrum冲刺博客(歪瑞古德小队)
  7. Deep and Beautiful. The Reward Prediction Error Hypothesis of Dopamine
  8. kali安装open-vm-tools实现虚拟机交互
  9. 实用的git log用法
  10. 温故知新——Spring AOP