Android编程获取网络连接状态及调用网络配置界面
获取网络连接状态
随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能。
Android平台提供了ConnectivityManager 类,用于网络连接状态的检测。
Android开发文档这样描述ConnectivityManager的作用:
Class that answers queries about the state of network connectivity. It also notifies applications when network connectivity changes. Get an instance of this class by callingContext.getSystemService(Context.CONNECTIVITY_SERVICE).
The primary responsibilities of this class are to:
Monitor network connections (Wi-Fi, GPRS, UMTS, etc.) Send broadcast intents when network connectivity changes Attempt to "fail over" to another network when connectivity to a network is lost
Provide an API that allows applications to query the coarse-grained or fine-grained state of the available networks
下面这个简单的例子 checkNetworkInfo() 说明了如何编程获取Android手机的当前网络状态
private void checkNetworkInfo() {ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);// mobile 3G Data NetworkState mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();txt3G.setText(mobile.toString()); // 显示3G网络连接状态// wifiState wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();txtWifi.setText(wifi.toString()); // 显示wifi连接状态 }
注:
根据Android的安全机制,在使用ConnectivityManager时,必须在 AndroidManifest.xml中添加<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 否则无法获得系统的许可。
运行结果(关闭3G及wifi网络连接的状态下)
调用Android手机的网络配置界面
使用过Android手机上的手机QQ的朋友,应该知道,当QQ启动时,如果没有有效的网络连接,QQ会提示转入手机的网络配置界面。这是如何实现的呢。其实很简单啦
private void checkNetworkInfo() {ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);// mobile 3G Data NetworkState mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();txt3G.setText(mobile.toString());// wifiState wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();txtWifi.setText(wifi.toString());// 如果3G网络和wifi网络都未连接,且不是处于正在连接状态 则进入Network Setting界面 由用户配置网络连接if (mobile == State.CONNECTED || mobile == State.CONNECTING)return;if (wifi == State.CONNECTED || wifi == State.CONNECTING)return;startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));// 进入无线网络配置界面// startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));// //进入手机中的wifi网络设置界面 }
运行结果(关闭3G及wifi网络连接的状态下),程序转入无线网络配置界面
startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));//进入无线网络配置界面
如果调用
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网络设置界面
则直接进入手机中的wifi网络设置界面
在wifi网络连接后 运行该程序
我们可以看到 wi-fi 状态为已连接(CONNECTED).
Android编程获取网络连接状态及调用网络配置界面相关推荐
- Android编程 获取网络连接状态 及调用网络配置界面
获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityMan ...
- Android 监听网络连接状态,判断网络连接方式,9.0网络连接,获取已连接WiFi名称SSID和MAC
获取已连接的WiFi名称 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> ...
- VMware虚拟机设置 桥接模式:直接连接物理网络下的复制物理网络连接状态选项有什么作用?(续订ip)
如图在虚拟机设置里桥接模式:直接连接物理网络下有一个复制物理网络连接状态选项,这个是做什么用的? 官网链接:为现有虚拟机配置桥接模式网络连接 续订IP是指网卡从路由器的DHCP服务器获得IP地址的过程 ...
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
http://www.mobiletuts.me 获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. An ...
- android编程获取网络和wifi状态及调用网络设置界面,Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面 - Android平台开发技术 - 博客园...
获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityMan ...
- Android系统信息获取 之六:网络连接状态信息获取
Android系统可以通过WIFI和移动网络来连接互联网,系统网络连接状态是通过ConnectivityManager 类来获取的.关键代码如下: [java] view plaincopy Conn ...
- android 检查网络连接状态实现步骤
android 如何检查网络连接状态,是android开发中一个常见的问题,本文将介绍如何实现,需要的朋友可以参考下 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限 ...
- 怎样检查Android网络连接状态
在发送任何HTTP请求前最好检查下网络连接状态,这样可以避免异常.这个教程将会介绍怎样在你的应用中检测网络连接状态. 创建新的项目 1.在Eclipse IDE中创建一个新的项目并把填入必须的信息. ...
- C# 获取电脑的网络连接状态
C# 获取电脑的网络连接状态 原文:C# 获取电脑的网络连接状态 判断连网的方法介绍 1. InternetGetConnectedState 此函数获取网络状态有延时,且对网卡伤害较大 MSDN官方 ...
最新文章
- js html css淘宝足迹日历效果,js实现简单的日历显示效果函数示例
- 秒杀系统架构优化思路
- sqlserver 还原到时间点
- 服务器禁止修改目录,目录服务器限制 (Sun Java System Directory Server Enterprise Edition 6.2 发行说明)...
- linux和android学习,android学习笔记
- CSS3 -- display:flex
- 晨哥真有料丨为什么越优秀的女生越寡?
- 趣说单例模式——选班长
- Java自带工具包StringUtils包含方法
- Storm 的一个案例
- 淘宝新手开店可掌握的爆款核心思路
- 网易云课堂web安全第一天
- pdf压缩工具_18MB秒变1MB,最好用的PDF在线压缩工具
- Linux之必备软件安装(搜狗输入法、qq等)
- 老板怎么舍得你离开?-让我来教你如何拍马屁
- 使用scp命令上传文件到linux服务器
- PMP考前冲刺题2022(错题)含解析
- 首发!《2021年度移动应用性能实践》白皮书(附下载)
- python中正则表达式 ?(问号)的详解及用法
- PTA--结构体: 7-2 节约有理
热门文章
- 非此即彼的逻辑错误_超全MBA逻辑答题口诀,快收藏!
- 是什么岗位_文案策划的岗位职责是什么?
- windows linux rac,跨平台表空间传输(windows到linux RAC)
- mysql网页后台_jsp+servlet+mysql开发java web旅游网站,有后台管理系统
- 【css】页面出现两个滚动条以及只有一半页面显示内容的解决方法
- python queue 多进程_python中的Queue与多进程(multiprocessing)
- uniapp实现页面左右滑动,上下滑动事件
- vconsole 调试 查看LOG VUE在手机上调试 手机查看h5的日志
- iOS 利用dSYM定位crash
- Android笔记之使用LocationManager获取经纬度