android之广播详解下篇

本文介绍了Android中自定义广播的发送与接收方法,并详细解释了如何通过广播接收器实现功能。此外,还探讨了本地广播的概念及其应用场景,对比了其与全局广播的区别。

一.发送自定义广播:

1.首先发送广播之前 先准备一个可以接收该自定义广播的广播接收器

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "received in MyBroadcastReceiver",
                Toast.LENGTH_SHORT).show();
    }
}

在配置文件中进行静态注册

  <receiver android:name="com.example.administrator.pandora.MyBroadcastReceiver" >
            <intent-filter>
                <action android:name="com.example.broadcasttest.MY_BROADCAST" />
            </intent-filter>
        </receiver>

准备好接收器之后

开始自定义发送广播  这个广播的action 要和在配置文件注册的广播接收器action对应

  Button button = (Button) findViewById(R.id.button);

  button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
                        sendBroadcast(intent);
            }
        });

上述讲述的 标准广播的发送 这种广播是异步的 系统级别的全局广播  另外一种广播是有序广播

既然是有序的 就有优先级的不同 可以使用其实也就是发送的方法不同 这里就不再解释了!

二.使用本地广播

前面我们发送和接收的广播全部都是属于系统全局广播,即发出的广播可以被其他任何
的任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播。这样就很容
易会引起安全性的问题,比如说我们发送的一些携带关键性数据的广播有可能被其他的应用
程序截获,或者其他的程序不停地向我们的广播接收器里发送各种垃圾广播。

本地广播的用法并不复杂,主要就是使用了一个LocalBroadcastManager 来对广播进行
管理,并提供了发送广播和注册广播接收器的方法。

本地广播是无法静态注册的 也是在在代码中动态注册 就跟接收系统系统广播那样具体详情 需要用的时候再查

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值