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 来对广播进行
管理,并提供了发送广播和注册广播接收器的方法。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值