博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四大组件之BroadcastReceiver
阅读量:5889 次
发布时间:2019-06-19

本文共 3160 字,大约阅读时间需要 10 分钟。

hot3.png

 

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //动态注册广播接受者,优先级高于静态注册        IntentFilter intentFilter = new IntentFilter("BC_One");        BC2 bc2 = new BC2();        registerReceiver(bc2,intentFilter);    }    public void doClick(View v){        switch (v.getId()){            case R.id.button:                //普通广播                Intent intent = new Intent();                intent.putExtra("msg","这是一条普通广播");                intent.setAction("BC_One");                sendBroadcast(intent);                break;            case R.id.button2:                //有序广播                Intent intent2 = new Intent();                intent2.putExtra("msg","这是一条有序广播");                intent2.setAction("BC_Two");                sendOrderedBroadcast(intent2,null);                break;            case R.id.button3:                //异步广播 可以先发送再注册                Intent intent3 = new Intent();                intent3.putExtra("msg","这是一条异步广播");                intent3.setAction("BC_Three");                sendStickyBroadcast(intent3);                IntentFilter intentFilter = new IntentFilter("BC_Three");                BC3 bc = new BC3();                registerReceiver(bc,intentFilter);                break;            default:                break;        }    }}//配置文件        /** priority -- 优先级          * 静态注册          */        
//普通广播接收public class BC1 extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { String s = intent.getStringExtra("msg"); System.out.println("receive1收到的信息:"+s); }}public class BC2 extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { String s = intent.getStringExtra("msg"); System.out.println("receive2收到的信息:"+s); }}//有序广播接收public class BC3 extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { String s = intent.getStringExtra("msg"); System.out.println("receive3收到的信息:"+s); Bundle bundle = new Bundle(); bundle.putString("test","拦截广播添加数据"); setResultExtras(bundle); }}public class BC4 extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { String s = intent.getStringExtra("msg"); System.out.println("receive4收到的信息:"+s); Bundle bundle = getResultExtras(true); String s2 = bundle.getString("test"); System.out.println("得到的处理结果是: "+s2); }}//异步广播接收public class BC5 extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { System.out.println("收到异地广播"); }}

 

转载于:https://my.oschina.net/u/2346786/blog/819528

你可能感兴趣的文章
视频编解码学习之五:差错控制及传输
查看>>
Postman教程
查看>>
python模块--os模块
查看>>
HSSFRow获取单元格方法与区别
查看>>
洛谷 1365 WJMZBMR打osu! / Easy
查看>>
删除UINavigationItem上的BarButtonItem
查看>>
数据分析相关模块
查看>>
Python数据结构1-----基本数据结构和collections系列
查看>>
SQL Denali-FileTable
查看>>
C# 图像处理:复制屏幕到内存中,拷屏操作
查看>>
PHP微信支付流程
查看>>
linux下单节点oracle数据库间ogg搭建
查看>>
PLSQL Developer软件使用大全
查看>>
swift三方库
查看>>
杭州之行
查看>>
oracle ORA-00917: missing comma 是因为少逗号
查看>>
策略模式简介
查看>>
UIViewController中loadView的用法(应当注意的几点)
查看>>
POJ NOI0105-42 画矩形
查看>>
Java 数组在内存中的结构
查看>>