当前位置:网站首页>BroadCast Receiver(广播)详解
BroadCast Receiver(广播)详解
2022-08-05 05:15:00 【suiyue010211】
目录
2.在AndroidManifest.xml中写入静态接收名

BroadCast Receiver是四大组件之一,是一个全局的监听器
BroadCast Receiver有两大功能,广播发送者,广播接收者
BroadCast Receiver分为静态广播和动态动态广播
静态广播
1.首先在这边创建广播接收器

2.在AndroidManifest.xml中写入静态接收名
<receiver
android:name=".MyStaiticReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="wzk" />
</intent-filter>
</receiver>3.在主方法把广播发送给静态广播接收者
btn_sendstatic=findViewById(R.id.btn_sendstatic);
btn_sendstatic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//发送广播给静态广播接收者
Intent intent=new Intent();
//在Android8.0以上就不支持静态广播了,需要加一个这个
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) {
//发送广播给静态广播接收者
Intent intent=new Intent();
intent.setPackage(getPackageName());
intent.setAction("wzk");
intent.putExtra("info","你好");
sendBroadcast(intent);
}
});4.在广播接收器里面接收广播
Log.i("MyStaiticReceiver","接收到的值是"+intent.getStringExtra("info"));动态广播:
1.创建广播继承BroadcastReceiver
class MyDymnicReveiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("动态广播接收者",intent.getStringExtra("info"));
}
}2.在主方法注册动态广播
//注册动态广播
myDymnicReveiver=new MyDymnicReveiver();
IntentFilter intentFilter=new IntentFilter();
intentFilter.addAction("666");
registerReceiver(myDymnicReveiver,intentFilter);3.发送给动态广播
//发送给动态的广播
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","动态广播你好");
sendBroadcast(intent);
}
});4.反注册
@Override
protected void onDestroy() {
super.onDestroy();
if (myDymnicReveiver!=null){
unregisterReceiver(myDymnicReveiver);
}
}边栏推荐
猜你喜欢

Matplotlib(二)—— 子图

Day1:用原生JS把你的设备变成一台架子鼓!

flink部署操作-flink standalone集群安装部署

【过一下 17】pytorch 改写 keras

2022年中总结关键词:裁员、年终奖、晋升、涨薪、疫情

pycharm中调用Matlab配置:No module named ‘matlab.engine‘; ‘matlab‘ is not a package

解决:Unknown column ‘id‘ in ‘where clause‘ 问题

Flink Broadcast 广播变量

el-pagination左右箭头替换成文字上一页和下一页
![[Go through 7] Notes from the first section of the fully connected neural network video](/img/e2/1107171b52fe9dcbf454f7edcdff77.png)
[Go through 7] Notes from the first section of the fully connected neural network video
随机推荐
序列基础练习题
第四讲 反向传播随笔
学习总结week3_3迭代器_模块
flink项目开发-flink的scala shell命令行交互模式开发
Flink 状态与容错 ( state 和 Fault Tolerance)
【过一下6】机器视觉视频 【过一下2被挤掉了】
day11-函数作业
[Go through 4] 09-10_Classic network analysis
学习总结week3_4类与对象
Flink Distributed Cache 分布式缓存
flink部署操作-flink standalone集群安装部署
小白一枚各位大牛轻虐虐
redis 缓存清除策略
BFC详解(Block Formmating Context)
el-pagination分页分页设置
拿出接口数组对象中的所有name值,取出同一个值
【过一下15】学习 lstm的一周
[Go through 3] Convolution & Image Noise & Edge & Texture
解决端口占用问题
Matplotlib(二)—— 子图