Android 四大组件之BroadcastReceiver(发送有序无序广播)

无序广播

发送

/**无序广播*/
				Intent intent =new Intent(Broadcast);
				intent.putExtra("msg", "无序广播已发送");
				sendBroadcast(intent);

接收

public String Broadcast="com.sendbroadcast.action.BROADCAST"; //接收广播适配符(有序无序通用)
if(arg1.getAction().equals(Broadcast)){
			String str=getResultExtras(true).getString("msg");
			Toast.makeText(arg0, str, 1000).show();
			Log.e(">>>>>>>>>>>>>oneBroadcast", str);


注册

 <receiver android:name="com.sendbroadcast.action.twoBroadcast"><intent-filter >
               <action android:name="com.sendbroadcast.action.BROADCAST"/></intent-filter> //适配符
       </receiver>



有序广播

发送

/**有序广播*/
Intent intent =new Intent(Broadcast);
intent.putExtra("msg", "无序广播已发送");
sendOrderedBroadcast(intent, "com.sendbroadcast.action.MY_BROADCAST");//权限


接收

if(arg1.getAction().equals(Broadcast)){
<span style="white-space:pre">			</span>String str=getResultExtras(true).getString("msg");
<span style="white-space:pre">			</span>Toast.makeText(arg0, str, 1000).show();
<span style="white-space:pre">			</span>Log.e(">>>>>>>>>>>>>oneBroadcast", str);


更改拦截广播

if(arg1.getAction().equals(Broadcast)){
			String str=arg1.getStringExtra("msg");
			Bundle bundle=new Bundle();
			bundle.putString("msg", str+"广播已更改");
			setResultExtras(bundle);//拦截
			
			Toast.makeText(arg0, str, 1000).show();
			Log.e(">>>>>>>>>>>>>twoBroadcast", str);
		}


注册

<!-- 定义发送有序广播权限 -->
     <permission android:protectionLevel="normal"
        android:name="com.sendbroadcast.action.MY_BROADCAST"></permission> 
  <!--   使用权限 -->
	 <uses-permission android:name="com.sendbroadcast.action.MY_BROADCAST"/> 

 <!-- 第一个广播接收者 -->
       <receiver android:name="oneBroadcast"
           android:permission="true">
            <!-- 有序广播优先级 -->
           <intent-filter android:priority="800"> //有序广播根据优先级大小(-1000到1000)为顺序接收广播
               <action android:name="com.sendbroadcast.action.BROADCAST"/>
               </intent-filter>
       </receiver>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值