android中的广播大全,android中的广播
1系统广播(关闭,锁并,声音,电话,信号,等系统提供的广播)(例如信号)
广播一般是在一个类中直接写出来而不用这样单独写出到一个类中,这样方便在监听到结果时处理数据
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.net.wifi.WifiManager;
import android.os.Parcelable;
import android.util.Log;
public class NetworkConnectChangedReceiver extends BroadcastReceiver {
/***
* 1 代码注册广播
* IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new NetworkConnectChangedReceiver(), filter);
2 在清单中配置
*/
@Override
public void onReceive(Context context, Intent intent) {
if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {// 这个监听wifi的打开与关闭,与wifi的连接无关
int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
Log.e("H3c", "wifiState" + wifiState);
switch (wifiState) {
case WifiManager.WIFI_STATE_DISABLED:
break;
case WifiManager.WIFI_STATE_DISABLING:
break;
//
}
}
// 这个监听wifi的连接状态即是否连上了一个有效无线路由,当上边广播的状态是WifiManager.WIFI_STATE_DISABLING,和WIFI_STATE_DISABLED的时候,根本不会接到这个广播。
// 在上边广播接到广播是WifiManager.WIFI_STATE_ENABLED状态的同时也会接到这个广播,当然刚打开wifi肯定还没有连接到有效的无线
if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {
Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (null != parcelableExtra) {
NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;
State state = networkInfo.getState();
boolean isConnected = state == State.CONNECTED;// 当然,这边可以更精确的确定状态
Log.e("H3c", "isConnected" + isConnected);
if (isConnected) {
} else {
}
}
}
// 这个监听网络连接的设置,包括wifi和移动数据的打开和关闭。.
// 最好用的还是这个监听。wifi如果打开,关闭,以及连接上可用的连接都会接到监听。见log
// 这个广播的最大弊端是比上边两个广播的反应要慢,如果只是要监听wifi,我觉得还是用上边两个配合比较合适
if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
Log.i("NetworkConnectChangedReceiver", "网络状态改变:" + wifi.isConnected() + " 3g:" + gprs.isConnected());
NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (info != null) {
Log.e("H3c", "info.getTypeName()" + info.getTypeName());
Log.e("H3c", "getSubtypeName()" + info.getSubtypeName());
Log.e("H3c", "getState()" + info.getState());
Log.e("H3c", "getDetailedState()"+ info.getDetailedState().name());
Log.e("H3c", "getDetailedState()" + info.getExtraInfo());
Log.e("H3c", "getType()" + info.getType());
if (NetworkInfo.State.CONNECTED == info.getState()) {
} else if (info.getType() == 1) {
if (NetworkInfo.State.DISCONNECTING == info.getState()) {
}
}
}
}
}
}
2自定义广播(根据需求自己写的广播)
注意发送广播和接受广播的对接
android中的广播大全,android中的广播相关推荐
- linux中make命令大全,Linux中的命令 make -f 是什么意思
二.Makefile的文件名 默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"."makef ile"."Make ...
- android 文件删除命令大全,Android中删除sdcard里文件的命令
Android中删除sdcard里文件的命令 有时我们需要删除android模拟器或手机上的sd卡文件,特别是模拟器上的,这时我们就需要借助于一些命令来帮助我们删除文件. 复制代码 代码如下: #重新 ...
- android显示通知图标大全,Android推送通知:图标未显示在通知中,而是显示白色方块...
Android推送通知:图标未显示在通知中,而是显示白色方块 我的应用会生成通知,但我没有显示为该通知设置的图标.相反,我得到一个白色方块. 我已经尝试调整图标的大小(尺寸720x720,66x66, ...
- android中终端命令大全,Android系统在超级终端下必会的命令大全(八)
系统安全相关命令su1.作用su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码.2.格式su [选项]... [-] [USER [ARG]...] 3.主要参数-f,--fas ...
- android控件使用大全,Android常见控件使用详解
本文实例为大家分享了六种Android常见控件的使用方法,供大家参考,具体内容如下 1.TextView 主要用于界面上显示一段文本信息 2.Button 用于和用户交互的一个按钮控件 //为Butt ...
- android java adb命令大全,Android adb命令备份恢复手机信息
假设你已经在Windows下安装了Android SDK,并且更新到最新版 步骤: 1.通过USB连接你的设备,打开命令行 2.一般地,输入"adb devices"检测设备是否连 ...
- android 下拉框大全,Android 下拉列表Spinner
在UI中经常会使用到下拉列表,在android控件中有两个下拉列表控件: Spinner AppCompatSpinner 兼容低版本,在高版本中才能使用的方法换了V7下的Spinner后可以兼容到2 ...
- android显示通知图标大全,Android应用开发之android 桌面APP应用图标显示通知消息的数量显示与去除...
本文将带你了解Android应用开发之android 桌面APP应用图标显示通知消息的数量显示与去除,希望本文对大家学Android有所帮助. android 桌面APP应用图标显示通知消息的数量 ...
- android+状态栏显示图标大全,Android应用图标在状态栏上显示实现原理
一.前方 在研究<Android类似360,QQ管家那样的悬浮窗>突发奇想,想把应用的图标也显示到状态栏上,类似手机QQ,而有消息来时改变状态栏上的图标显示. 二.原理 其实很研究完后,才 ...
最新文章
- 技术人员如何转型为产品经理
- node 同步js代码-超越昨天的自己系列(5)
- php 批量转换文档编码格式_据说是国内最好的文档格式转换网址~PDF,PPT,EXCEL,WORD互相转换...
- Val编程-特殊函数使用
- ubuntu经常提示:检测到系统程序出现问题
- check_mysql 脚本_如何使用myisamchk和mysqlcheck工具快速修复损坏的MySQL数据库文件
- Python 数据结构与算法 —— 链表
- 两路共享LSTM时序数据预测实战+界面可视化应用
- python实时语音转写_语音识别 - 实时语音转写 - 《科大讯飞REST_API开发指南》 - 书栈网 · BookStack...
- 利用支付宝和浙江图书馆网站免费获取知网文献(亲测可用)
- SEO内链优化,网站内部链接优化方法
- 蓝屏信息0x0000000A、 0x00000050、 0x0000001A错误分析
- 如何换ionic里面的图标
- 浅谈用户研究那些事(上)定性研究
- 北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)
- ssh 使用新法:公网(合法 ip)用户访问内网(私有 ip)服务器(http,ftp,sshd,cvs...),
- 2020-08-04 html的js位置 + css的flex实现九宫格 + JS的Array + 软技能的硬编码
- 网页视频播放插件ckplayer的使用-详细介绍
- vscode插件扩展 js代码高亮显示问题,美化问题,颜色问题
- Modbus 通讯协议 (RTU传输模式)
热门文章
- 中大计算机考研复试刷人太狠,惨!658人进复试刷掉570多人!盘点21考研复试比奇高、刷人狠的院校专业!...
- ajax调取mysql数据显示在html_jQuery+Ajax+js请求json格式数据并渲染到html页面
- postgresql源码学习(一)—— 源码编译安装与gdb调试入门
- 【项目分享】赶集团购Web App开发总结
- hugo博客html创建目录,使用Hugo来生成静态博客
- 盘整基调不改,沪指2100点再获支撑
- Discuz宣布关闭发言权,社区时代终结
- matlab Fourier变换--方波信号的分解与重建
- 荣耀8x系列新机解锁双喇叭设计,小米没做到的它做到了
- web前端入门到实战:CSS实现雨滴动画效果