Android四大组件之一 --Broadcast(广播通信)
一,Broadcast简介
Broad cast 广播是广泛应用在应用程序之间传输信息的机制,而Broadcast Receiver是对发送出来的广播进行过滤接收并响应的一类组件
二,Broadcast机制
三,Broadcast使用方法
private BroadcastReceiver broadcastReceiver = new BroadcastLowReceiver(){@Overridepublic void onReceive(Context context, Intent intent) {super.onReceive(context, intent);}};onReceive生命周期只有十秒 不能直接在里面写耗时操作应该发送Intent给Service来完成这里不能使用子线程l来解决 BroadcastReceiver生命周期很短 子线程还没有结束 Broadcast就先结束了
四,Broadcast类型和接受方法
1.静态注册广播
public class BroadcastLowReceiver extends BroadcastReceiver {private String TAH = "BatteryLowReceiver";@Override
public void onReceive(Context context, Intent intent) {Log.d("###","" + intent);
}
}
2.动态注册
public class MainActivity extends AppCompatActivity {//1.初始化
private BroadcastReceiver broadcastReceiver = new BroadcastLowReceiver(){@Overridepublic void onReceive(Context context, Intent intent) {super.onReceive(context, intent);}
};@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//2.注册广播IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_BATTERY_CHANGED);registerReceiver(broadcastReceiver,filter);
}@Override
protected void onDestroy() {super.onDestroy();//销毁广播unregisterReceiver(broadcastReceiver);
}
}
五,BroadcastReceiver的API
六,Broadcast应用实例
动态注册广播 获取电池电量
public class MainActivity extends AppCompatActivity {
//1.初始化
private BroadcastReceiver broadcastReceiver;
private TextView a ;
private TextView b ;
private TextView c ;@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);a = findViewById(R.id.a);b = findViewById(R.id.b);c = findViewById(R.id.c);
}@Override
protected void onResume() {super.onResume();Mbroadcast();
}private void Mbroadcast(){broadcastReceiver = new Mbroadcast();IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);registerReceiver(broadcastReceiver,intentFilter);}
@Override
protected void onDestroy() {super.onDestroy();//销毁广播unregisterReceiver(broadcastReceiver);
}class Mbroadcast extends BroadcastReceiver {public int health;public int level;public int status;@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();if (action == Intent.ACTION_BATTERY_CHANGED) {health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_GOOD);level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_DISCHARGING);a.setText(health + "");b.setText(level + "");c.setText(status + "");}}}
Android四大组件之一 --Broadcast(广播通信)相关推荐
- Android四大组件之broadcast广播使用整理笔记
一.广播机制概述 通常情况下在学校的每个教室都会装有一个喇叭,这些喇叭是接入到学校广播室的.如果有重要通知,会发送一条广播来告知全校师生.为了便于发送和接收系统级别的消息通知,Android系统也引入 ...
- android 广播解绑,Android四大组件之BroadCast
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Android四大组件之BroadCast 一.广播概述 Android应用可以从Android系统和其他Android ...
- Android四大组件之——Broadcast学习总结
1.Broadcast概念 是一个全局的监听器,属于Android四大组件之一.Broadcast(广播)是一种广泛运用的在应用程序(APP)之间传输信息的机制.而BroadcastReceiver( ...
- android四大组件之四-BroadCast实现原理分析
前言: 一开始的目标是解决各种各样的ANR问题的,但是我们知道,ANR总体上分有四种类型,这四种ANR类型有三种是和四大组件相对应的,所以,如果想了解ANR发生的根因,对安卓四大组件的实现原理必须要懂 ...
- Android 四大组件 -- BroadcastReceiver(广播)
Android开发的四大组件分别是: 活动(activity),用于表现功能; 服务(service),后台运行服务,不提供界面呈现: 广播接受者(BroadcastReceive),勇于接收广播: ...
- Android四大组件之BroadCast(续)
1.哪一个方法可以发送广播? activity.sendbroadcast or context.sentbroadcast or service.sendbroadcast 2.创建广播接受程序必须 ...
- Android四大组件之BroadCastReceiver
1. 基本概念 在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类 ...
- Android四大组件系列7 Broadcast广播机制(上)
一 概述 广播 (Broadcast) 机制用于进程或线程间通信,广播分为广播发送和广播接收两个过程,其中广播接收者 BroadcastReceiver 是 Android 四大组件之一.Broadc ...
- Android 四大组件通信核心
前言 系列文章: Android Activity创建到View的显示过程 Android 四大组件通信核心 Android 系统启动到App 界面完全展示终于明白(图文版) 我们知道Android ...
最新文章
- SharePoint服务器如果需要安装杀毒软件, 需要注意什么?
- VR应用开发遍地走的日子还有多远
- 【python图像处理】txt文件数据的读取与写入
- json.stringify()与json.parse()的区别,json.stringify()的妙用
- linux getline函数用法,get()与getline()
- vue中书写JSX一些坑-特殊属性名
- qt5 下载 及 qtcreator集成msvc2017 x64
- python发送邮件 退回_【破案了】python发邮件问题,求助!为什么总被退回?
- Google邮箱账号登陆存在异常活动怎么办?
- python win32gui模块详解_Python笔记_第二篇_面向过程_第二部分_4.常用模块的简单使用_窗体控制模块(win32con、win32gui)...
- linux挂载光盘的命令,linux下挂载(mount)光盘镜像文件、移动硬盘
- PLC PID优化系列之非线性参数整定(FC函数)
- 【聆听】泰戈尔诗集(二)
- 史上最全!国内外最新免费3D模型下载网站分享!
- 21考研:你是为了什么考研?
- java springboot安卓多商家校园点餐外卖APP源码
- 8月2日 jquery
- 基于Java毕业设计学习类视频网源码+系统+mysql+lw文档+部署软件
- uni-app 第三方360加固
- 数据安全三要素:机密性、完整性、身份验证