当前位置:网站首页>Detailed explanation of BroadCast Receiver (broadcast)
Detailed explanation of BroadCast Receiver (broadcast)
2022-08-05 05:38:00 【suiyue010211】
目录
1.First create the broadcast receiver here
2.在AndroidManifest.xmlWrite the static receive name in
3.Send the broadcast to the static broadcast receiver in the main method
4.Receive broadcasts in a broadcast receiver
1.Create broadcast inheritanceBroadcastReceiver
2.Register the dynamic broadcast in the main method
BroadCast Receiver是四大组件之一,是一个全局的监听器
BroadCast Receiver有两大功能,广播发送者,广播接收者
BroadCast ReceiverDivided into static broadcasting and dynamic dynamic broadcasting
静态广播
1.First create the broadcast receiver here
2.在AndroidManifest.xmlWrite the static receive name in
<receiver
android:name=".MyStaiticReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="wzk" />
</intent-filter>
</receiver>
3.Send the broadcast to the static broadcast receiver in the main method
btn_sendstatic=findViewById(R.id.btn_sendstatic);
btn_sendstatic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Send a broadcast to static broadcast receivers
Intent intent=new Intent();
//在Android8.0The above does not support static broadcasting,Need to add this one
intent.setPackage(getPackageName());
intent.setAction("wzk");
intent.putExtra("info","你好");
sendBroadcast(intent);
}
}); btn_sendstatic=findViewById(R.id.btn_sendstatic);
btn_sendstatic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Send a broadcast to static broadcast receivers
Intent intent=new Intent();
intent.setPackage(getPackageName());
intent.setAction("wzk");
intent.putExtra("info","你好");
sendBroadcast(intent);
}
});
4.Receive broadcasts in a broadcast receiver
Log.i("MyStaiticReceiver","接收到的值是"+intent.getStringExtra("info"));
动态广播:
1.Create broadcast inheritanceBroadcastReceiver
class MyDymnicReveiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("动态广播接收者",intent.getStringExtra("info"));
}
}
2.Register the dynamic broadcast in the main method
//注册动态广播
myDymnicReveiver=new MyDymnicReveiver();
IntentFilter intentFilter=new IntentFilter();
intentFilter.addAction("666");
registerReceiver(myDymnicReveiver,intentFilter);
3.Sent to dynamic broadcast
//Send to dynamic broadcast
btn_send = findViewById(R.id.btn_send);
btn_send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent();
intent.setAction("666");
intent.putExtra("info","dynamic broadcast hello");
sendBroadcast(intent);
}
});
4.反注册
@Override
protected void onDestroy() {
super.onDestroy();
if (myDymnicReveiver!=null){
unregisterReceiver(myDymnicReveiver);
}
}
边栏推荐
猜你喜欢
el-table,el-table-column,selection,获取多选选中的数据
AIDL详解
面向小白的深度学习代码库,一行代码实现30+中attention机制。
【Pytorch学习笔记】9.分类器的分类结果如何评估——使用混淆矩阵、F1-score、ROC曲线、PR曲线等(以Softmax二分类为例)
Flutter 3.0升级内容,该如何与小程序结合
flink中文文档-目录v1.4
flink项目开发-配置jar依赖,连接器,类库
[After a 12] No record for a whole week
【论文精读】Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation(R-CNN)
SQL(1) - Add, delete, modify and search
随机推荐
【零基础开发NFT智能合约】如何使用工具自动生成NFT智能合约带白名单可Mint无需写代码
CVPR最佳论文得主清华黄高团队提出首篇动态网络综述
解决端口占用问题
flink on yarn 集群模式启动报错及解决方案汇总
学习总结week2_1
如何编写一个优雅的Shell脚本(一)
Matplotlib(一)—— 基础
Flink Broadcast 广播变量
基于Flink CDC实现实时数据采集(一)-接口设计
flink中文文档-目录v1.4
el-pagination左右箭头替换成文字上一页和下一页
ECCV2022 | RU & Google propose zero-shot object detection with CLIP!
如何停止flink job
怎么更改el-table-column的边框线
day8字典作业
flink项目开发-配置jar依赖,连接器,类库
In Opencv, imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY) error: error:!_src.empty() in function 'cv::cvtColor'
【Pytorch学习笔记】11.取Dataset的子集、给Dataset打乱顺序的方法(使用Subset、random_split)
BFC(Block Formatting Context)
鼠标放上去变成销售效果