Android BroadcastReceiver的简单使用
2016-09-01 15:53
435 查看
创建广播接收器:
创建自己的BroadcastReceiver,我们需要继承android.conent.BroadcastReceiver,并实现其onReceiver()方法:
public class MyBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "MyBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
Log.i(TAG, msg);
}
}
创建完成Receiver之后,需要对该接收器注册一个指定的广播地址。分为静态注册和动态注册。
静态注册:
静态注册是在AndroidManifest.xml文件中配置。
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.MY_BROADCAST" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
动态注册:
动态注册需要在代码中动态的指定广播的地址并注册,通常是在Activity或是Service中注册广播。
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.MY_BROADCAST");
registerReceiver(receiver, filter);
在Activity或是Service中注册广播后,需要在onDestroy()方法中解除注册:
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}
两种注册方法的区别:
静态注册是常驻型,也就是说当应用关闭后,如果有广播传来,MyBroadcastReceiver也会被系统调用而自动运行
动态注册不是常驻型,也就是广播会跟随程序的生命周期。
发送(普通)广播:
Intent intent = new Intent("android.intent.action.MY_BROADCAST");
intent.putExtra("msg", "Hello,
BroadcastReceiver.");
sendBroadcast(intent);
注:有关普通广播和有序广播相关的内容请看我的另一篇博文:Android的普通广播和有序广播。
创建自己的BroadcastReceiver,我们需要继承android.conent.BroadcastReceiver,并实现其onReceiver()方法:
public class MyBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "MyBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
Log.i(TAG, msg);
}
}
创建完成Receiver之后,需要对该接收器注册一个指定的广播地址。分为静态注册和动态注册。
静态注册:
静态注册是在AndroidManifest.xml文件中配置。
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.MY_BROADCAST" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
动态注册:
动态注册需要在代码中动态的指定广播的地址并注册,通常是在Activity或是Service中注册广播。
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.MY_BROADCAST");
registerReceiver(receiver, filter);
在Activity或是Service中注册广播后,需要在onDestroy()方法中解除注册:
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}
两种注册方法的区别:
静态注册是常驻型,也就是说当应用关闭后,如果有广播传来,MyBroadcastReceiver也会被系统调用而自动运行
动态注册不是常驻型,也就是广播会跟随程序的生命周期。
发送(普通)广播:
Intent intent = new Intent("android.intent.action.MY_BROADCAST");
intent.putExtra("msg", "Hello,
BroadcastReceiver.");
sendBroadcast(intent);
注:有关普通广播和有序广播相关的内容请看我的另一篇博文:Android的普通广播和有序广播。
相关文章推荐
- android BroadcastReceiverd的简单使用
- Android中Intent具体解释(二)之使用Intent广播事件及Broadcast Receiver简单介绍
- Android Service、Activity、BroadcastReceiver简单使用
- Android之BroadcastReceiver的使用
- Android之BroadcastReceiver的使用
- 黑马程序员------------------Android SharedPreferences与BroadcastReceiver简单结合(手机号码自动加拨)
- Android BroadcastReceiver之快速上手使用广播
- Android之BroadcastReceiver的使用
- Android中BroadCastReceiver使用
- Android中广播BroadCastReceiver使用
- 【BroadcastReceiver】Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题
- Android中Intent详解(二)之使用Intent广播事件及Broadcast Receiver简介
- android 使用 BroadcastReceiver 总结
- Subscriber使用可参考-------Android中BroadCastReceiver使用
- Android Broadcast receiver使用入门
- Android之BroadcastReceiver的使用
- Android中广播接收者BroadcastReceiver的理解与基本使用
- Android之BroadcastReceiver的使用
- android的broadcast receiver的使用
- Android的Service与BroadcastReceiver之四 BroadcastReceiver 简介、开发与配置;发送广播、有序广播;使用BroadcastReceiver接受系统广播