android studio创建广播,Android Studio 广播的实现

1.创建一个应用程序,点击按钮实现发送广播。收到广播后在logcat中显示“智能终端开发课程在学银在线开课啦”。

运行效果如图所示:

activity_gb.xml:

GBActivity.java

packagecom.example.myapplication;importandroidx.appcompat.app.AppCompatActivity;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.os.Bundle;importandroid.view.View;public class GBActivity extendsAppCompatActivity {protectedMyReceiver receiver;protectedIntentFilter intentFilter;protected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_gb);

receiver= newMyReceiver();

intentFilter= newIntentFilter();

intentFilter.addAction("zy_send");

registerReceiver(receiver,intentFilter);

}public voidsend(View view){

Intent intent= newIntent();//定义广播事件类型

intent.setAction("zy_send");//发送广播

sendBroadcast(intent);

}protected voidonDestroy(){super.onDestroy();

unregisterReceiver(receiver);

}

}

MyReceiver.java

packagecom.example.myapplication;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;public class MyReceiver extendsBroadcastReceiver {

@Overridepublic voidonReceive(Context context, Intent intent) {

Log.i("MyReceiver","智能终端开发课程在学银在线开课啦");

}

}

2.创建三个广播接收者1、2、3,并在注册时设置广播接收者的优先级,实现有序广播,要求按照3、2、1的顺序接受广播消息,在logcat中按接受顺序显示广播接收者的名称。

activity_gb.xml:

GBActivity.java

packagecom.example.myapplication;importandroidx.appcompat.app.AppCompatActivity;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.os.Bundle;importandroid.view.View;public class GBActivity extendsAppCompatActivity {protectedMyReceiver receiver;protectedMyReceiver2 receiver2;protectedMyReceiver3 receiver3;protectedIntentFilter intentFilter;protectedIntentFilter intentFilter2;protectedIntentFilter intentFilter3;protected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_gb);

receiver= newMyReceiver();

intentFilter= newIntentFilter();

intentFilter.addAction("zy_send");

intentFilter.setPriority(200);

receiver2= newMyReceiver2();

intentFilter2= newIntentFilter();

intentFilter2.addAction("zy_send");

intentFilter2.setPriority(300);

receiver3= newMyReceiver3();

intentFilter3= newIntentFilter();

intentFilter3.addAction("zy_send");

intentFilter3.setPriority(400);

registerReceiver(receiver3,intentFilter3);

registerReceiver(receiver2,intentFilter2);

registerReceiver(receiver,intentFilter);

}public voidsend(View view){

Intent intent= newIntent();//定义广播事件类型

intent.setAction("zy_send");//发送广播

sendOrderedBroadcast(intent,null);

}protected voidonDestroy(){super.onDestroy();

unregisterReceiver(receiver);

}

}

MyReceiver.java

packagecom.example.myapplication;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;public class MyReceiver extendsBroadcastReceiver {

@Overridepublic voidonReceive(Context context, Intent intent) {

Log.i("MyReceiver","智能终端开发课程在学银在线开课啦1");

}

}

MyReceiver2.java

packagecom.example.myapplication;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;public class MyReceiver2 extendsBroadcastReceiver {

@Overridepublic voidonReceive(Context context, Intent intent) {

Log.i("MyReceiver2","智能终端开发课程在学银在线开课啦2");

}

}

MyReceiver3.java

packagecom.example.myapplication;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;public class MyReceiver3 extendsBroadcastReceiver {

@Overridepublic voidonReceive(Context context, Intent intent) {

Log.i("MyReceiver3","智能终端开发课程在学银在线开课啦3");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值