介绍

BroadcastReceiver:广播接收者,很形象,广播发送,类比生活中的广播,有能力听得到的都可以介绍到这个信息,然后在大脑中反映。对应到Android中就是SendBroadcast和onReceive。
广播之间信息的传递是通过Intent对象来传递的,Intent调用分为显示调用的隐式调用两种。

使用方法

广播接收者

public class MyReceiver extends BroadcastReceiver {

    public static  final String HELLOACTION = "com.example.mraz.learnbroadcastreceiver.android.intent.action.HELLO";

    public MyReceiver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {

        String str = intent.getStringExtra("message");
        System.out.println("on Reveiver" + str);
    }
}

静态注册

AndroidManifest.xml

<receiver
    android:name=".MyReceiver"
    android:enabled="true"
    android:exported="true"
    >
    <intent-filter>
        <action android:name="com.example.mraz.learnbroadcastreceiver.android.intent.action.HELLO"/>
    </intent-filter>
</receiver>

动态注册

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(MyReceiver.HELLOACTION);
registerReceiver(myReceiver, intentFilter);
unregisterReceiver(myReceiver);//解除注册

结果

Demo界面
这里写图片描述

静态注册方式下:
发送广播->取消注册 ->发送广播
这里写图片描述

动态注册方式下:
发送广播->注册广播->发送广播-> 取消注册 -> 发送广播
这里写图片描述

results matching ""

    No results matching ""