没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android四大组件之Broadcast Receiver 作者:白璐 日期:2020/2/23 文章目录Android四大组件之Broadcast Receiver概述广播接收器(Broadcast Receiver)Broadcast Receiver简介Broadcast Receiver的注册一. 静态注册二. 动态注册三. 本地广播发送Broadcast Receiver广播的三种发送方式常用的系统广播的action 和permission使用注意事项拓展学习1. Service组件和BroadcastReceiver实现组件通信2. 自定义私有权限 概述 Android应用程序是
资源推荐
资源详情
资源评论
Android四大组件之四大组件之Broadcast Receiver
Android四大组件之四大组件之Broadcast Receiver
作者:白璐
日期:2020/2/23
文章目录文章目录Android四大组件之Broadcast Receiver概述广播接收器(Broadcast Receiver)Broadcast Receiver简介Broadcast
Receiver的注册一. 静态注册二. 动态注册三. 本地广播发送Broadcast Receiver广播的三种发送方式常用的系统广播的action
和permission使用注意事项拓展学习1. Service组件和BroadcastReceiver实现组件通信2. 自定义私有权限
概述概述
Android应用程序是由下列应用程序是由下列4个组件构成,分别是:个组件构成,分别是:
活动程序(活动程序(Activity)
服务程序(服务程序(Service)
广播接收器(广播接收器(Broadcast Receiver))
内容提供器(内容提供器(Content Provider))
广播接收器(广播接收器(Broadcast Receiver))
Broadcast Receiver简介简介
BroadCastReceiver是Android的四大组件之一,主要功能就是发送消息,监听消息,然后根据业务进行逻辑处理,可以在应
用内部,也可以是应用之间使用。从应用内部的消息,数据传递这个功能来说,现如今有很多开源的框架可以实现,比如
EventBus 或者使用观察者模式自定义封装一个消息发送机制,也都挺好用的。
Broadcast Receiver的注册的注册
一一. 静态注册静态注册
写一个广播集成BroadcastReceiver
public class MyReceiver1 extends BroadcastReceiver {
public static final String ACTION1="com.example.liukang.mybroadcastprojrct.test";
@Override
public void onReceive(Context context, Intent intent) {
if (intent!=null){
String r1 = intent.getStringExtra("MyReceiver1");
Toast.makeText(context,"我接收到了"+r1,Toast.LENGTH_LONG).show();
Log.e("TAG",r1);
//abortBroadcast(); 有序广播时候,优先级高的可以接收,进行判断处理是否往下传递
}
}
}
在清单文件中注册一下:
//是否能接收其他APP发送的消息
//有序广播优先级使用,越大越高
发送广播:
Intent intent = new Intent();
intent.setAction("ACTION_RECEIVER"); //一定对应
intent.addCategory("category"); //不写即是默认 可以匹配;但是写了,那么清单文件MyReceiver1注册的必须得有,否则不通过
intent.setComponent(new ComponentName("com.example.liukang.mybroadcastprojrct",
"com.example.liukang.mybroadcastprojrct.MyReceiver1")); // Android 8.0之后必须指定包名,以及包名.类名
intent.putExtra("MyReceiver1", "MyReceiver1广播");
sendBroadcast(intent);
//sendOrderedBroadcast(intent,null); 发送有序广播
二二. 动态注册动态注册
写一个类继承
public class MyMainReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null) {
String main = intent.getStringExtra("main");
资源评论
weixin_38587005
- 粉丝: 7
- 资源: 938
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之83-remove-duplicates-from-sorted-list.c
- C语言-leetcode题解之79-word-search.c
- C语言-leetcode题解之78-subsets.c
- C语言-leetcode题解之75-sort-colors.c
- C语言-leetcode题解之74-search-a-2d-matrix.c
- C语言-leetcode题解之73-set-matrix-zeroes.c
- 树莓派物联网智能家居基础教程
- YOLOv5深度学习目标检测基础教程
- (源码)基于Arduino和Nextion的HMI人机界面系统.zip
- (源码)基于 JavaFX 和 MySQL 的影院管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功