安卓四大组件复习自定义广播(三)
前面一直监听系统的广播,这时候我们应该想想 应该我们可以自己发送广播,自己监听的。
思路:一个应用发送 发送广播 一个应用接收应用
这时候,广播也有很多种,无序广播和 有序广播 在于发送方式
//sendBroadcast(intent); //发送一条无序的广播事件
先看发送应用代码
package com.example.Demo123; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void btn(View view){ Intent intent=new Intent(); intent.setAction("com.itheima.xxxooo"); //把这个自定义的广播发送出去 //sendBroadcast(intent); //发送一条无序的广播事件 //如果广播事件是无序发送出去的 所有的广播接受者 都会接受到这个事件 //如果广播是有序的发送出去的, 广播接收者会按照优先级 接受到广播事件 // 有序广播 特点: 高优先级的广播接受者 可以终止掉 广播事件 //sendOrderedBroadcast(intent, null); sendOrderedBroadcast(intent, null, new FinalRecevier(), null, 0, null, null); } }记得注册广播 可以看到发送类 是设置了 广播的名称的 然后通过 Intent发送
接收应用呢
配置文件
<receiver android:name=".MyBroadcastReceiver" >
<intent-filter android:priority="1000">
<action android:name="com.itheima.xxxooo" >
</action>
</intent-filter>
一个广播类 收到以后直接 toast一下
package com.example.module3g; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.println("reveriver 1 接收到了广播"); Toast.makeText(context, "检查到了 自定义的广播事件", 1).show(); } }