深圳福田做网站公司哪家好,网校排名,seo企业建站系统,购物网站有哪些平台文章目录 1. 广播的概念2. 广播的基本组成2.1 广播发送器2.2 广播接收器 3. 广播注册3.1 动态注册3.2 静态注册 1. 广播的概念
BroadcastReceiver#xff0c;广播接收器#xff0c;是Android四大组件之一#xff0c;可用来跨进程通信的一种机制。当然#xff0c;也可以用于… 文章目录 1. 广播的概念2. 广播的基本组成2.1 广播发送器2.2 广播接收器 3. 广播注册3.1 动态注册3.2 静态注册 1. 广播的概念
BroadcastReceiver广播接收器是Android四大组件之一可用来跨进程通信的一种机制。当然也可以用于进程内的组件间通信。
2. 广播的基本组成
2.1 广播发送器
与其他四大组件Activity、Service一样也是使用Intent发送广播。
通过设置Action标识该广播可被哪些接收器收到。可通过putExtra传递额外的bundle信息。
// 创建Intent
Intent intentResult new Intent();
intentResult.setAction(my_broadcaster_action);
intentResult.putExtra(KEY_RESULT, filePath);
// 发送广播
sendBroadcast(intentResult);2.2 广播接收器
使用BroadcastReceiver类继承或者直接new该类的对象实例重写方法 onReceive 在该方法中处理收到的广播消息。 注意该方法中不要做耗时操作否则会ANR异常最长10秒。 如果非要做耗时操作通常是启动Service在该Service中使用子线程或者直接启动一个IntentService来执行。 private BroadcastReceiver mReceiver new BroadcastReceiver() {Overridepublic void onReceive(Context context, Intent intent) {// 收到广播消息}};3. 广播注册
创建完广播接收器后最后还需要将其注册这样它才能接收广播。
主要是为其配置Action表示它能接收的广播特征从而过滤到适合它的广播信息。
注册的方式分为静态注册和动态注册。
3.1 动态注册
在Activity中注册广播接收器
IntentFilter intentFilter new IntentFilter();
intentFilter.addAction(my_broadcaster_action);
registerReceiver(mBroadcastReceiver, intentFilter);动态注册不要忘记解除注册一般是在Activity的onDestroy中
Override
protected void onDestroy() {super.onDestroy();unregisterReceiver(receiver);
}3.2 静态注册
在Manifest文件中注册广播接收器
receiver android:name.receiver.MyBroadcastReceiverintent-filteraction android:namemy_broadcaster_action //intent-filter
/receiver.receiver.MyBroadcastReceiver是MyBroadcastReceiver类的包名全路径的缩写这里替换成你自己的全路径类名。比如你的包名是com.example.broadcasttest这里应该写 com.example.broadcasttest.MyBroadcastReceiver 本文就是对Android中的广播进行了基本的介绍旨在让大家对广播有初步的认识。 后续我们将会详细了解静态广播与动态广播、有序广播与无序广播、本地广播与全局广播。