您的位置:首页 > 移动开发 > Android开发

<Android 基础(二)> BroadcastReceiver

2016-05-25 00:03 399 查看

介绍

BroadcastReceiver:广播接收者,很形象,广播发送,类比生活中的广播,有能力听得到的都可以介绍到这个信息,然后在大脑中反映。对应到Android中就是SendBroadcast和onReceive。

广播之间信息的传递是通过Intent对象来传递的,Intent调用分为显示调用的隐式调用两种。

使用方法

1 . 广播接收者

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);
}
}


2 . 静态注册

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>


3 . 动态注册

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(MyReceiver.HELLOACTION);
registerReceiver(myReceiver, intentFilter);


unregisterReceiver(myReceiver);//解除注册


测试结果

Demo界面



静态注册方式下:

发送广播->取消注册 ->发送广播



动态注册方式下:

发送广播->注册广播->发送广播-> 取消注册 -> 发送广播



天色已晚,来日再战!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: