BroadCastReceiver

静态注册广播:
先创建一个接收器

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String msg = intent.getStringExtra("msg");
        System.out.println("msg="+msg);
    }

}

因为广播要隐式启动,所以需要在清单文件注册广播的时候 添加匹配
action :可以自定义一个匹配规则,也可以使用系统规则,比如关开机发送广播
category

<receiver android:name="com.example.brodcast.MyReceiver">
            <intent-filter >
                <action android:name="android.intent.action.MY_BROADCAST"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </receiver>

然后就可发送广播了

Intent itIntent = new Intent("android.intent.action.MY_BROADCAST");
        itIntent.putExtra("mss", "哇哈哈");
        sendBroadcast(itIntent);

动态注册
前面,我们说了静态注册,什么叫静态注册呢,就是利用XML来注册。

相反,利用代码来注册的就叫动态注册。

静态注册和动态注册是有区别的,主要体现在接收上。

静态注册的程序,无论该程序是否启动,都会当广播到来时接收,并处理。而动态注册的程序只有在程序运行时才会收到广播消息,程序不运行了,它就收不到了。

动态注册与静态注册 代码的不懂之处在于, 动态注册需要在代码中注册

MyReceiver myReceiver = new MyReceiver();
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("android.intent.action.MY_BROADCAST");
        registerReceiver(myReceiver, intentFilter);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值