为了账号安全,请及时绑定邮箱和手机立即绑定

各位大神好,我现在碰到一个问题,为什么不执行B1广播事件?

各位大神好,我现在碰到一个问题,为什么不执行B1广播事件?

喵喵时光机 2023-02-16 19:15:45
就是程序里面有多个广播(BroadcastReceiver),为什么每次我操作不同的按钮都会执行同一个广播事件? 怎么把他们区分开来?比如说我点击A按钮会执行A1广播事件,点击B按钮会执行B1广播事件,但是我点击A按钮执行的广播事件是对的,就是A1,为什么我点击B按钮还是会执行A1这广播? 
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

在注册广播的时候需要声明一个IntentFilter,在IntentFilter里面有一个setAction(String flag)。


 String flag="com.test.test.Mainactivity"; Intent intent = new Intent();  //Itent就是我们要发送的内容 intent.putExtra("data""this is data from broadcast "+Calendar.getInstance().get(Calendar.SECOND));   intent.setAction(flag);   //设置你这个广播的action,只有和这个action一样的接受者才能接受者才能接收广播 sendBroadcast(intent);   //发送广播

接收的时候在onReceive里面


String action = intent.getAction();if(action.equals("com.test.test.Mainactivity")){    //你想要实现的代码}

注意的是不同的广播使用不同的falg


查看完整回答
反对 回复 2023-02-20
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("字符串");
上面的创建广播中的“字符串”与,发送广播时对应就可以了。
即你创建两个广播时,上面的字符串分别为A、B。让后点击A按钮发送广播时也设为A,如下:
Intent intent = new Intent();  
intent.setAction("A");  
sendBroadcast(intent);
通理,B也一样。


查看完整回答
反对 回复 2023-02-20
  • 2 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号