说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面

HTML文档下载 WORD文档下载 PDF文档下载
检测网络连接状态也就成为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手机的当前网络状态

作者:mainroadlee

获取网络连接状态

随着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 Network        State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();        txt3G.setText(mobile.toString()); //显示3G网络连接状态        //wifi        State 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 Network        State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();        txt3G.setText(mobile.toString());        //wifi        State 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).
本文来源:http://www.cnblogs.com/mainroadlee/archive/2011/01/11/Android_Network_State_Checking_And_Setting.html

 

 

VB与Windows资源管理器互拷文件 VB中DOS文件名与长文件名的转换 VB中的Unicode 和 Ansi 格式 VB中如何实现文本查找功能 VB中自制文件搜索器 Windows 初始化文件的修改 -VB资料 Word 97与WPS97的完美结合 -VB资料 比较两个文件-VB资料 采用递归算法删除带有多级子目录的目录-VB资料 菜单项的动态装入 -VB资料 处理加了密码的MDB文件-VB资料 VB创建临时文件 从公共对话框控件中提取多个文件名称 -VB资料 从全路径名中提取文件名 -VB资料 打印MsChart之类的控件 -VB资料 谈谈在VB6.0中如何使用资源文件进行编程 动画图像分解在VB动画设计中的应用 多重文档界面设计方法-VB资料 恢复回收站中的文件 -VB资料 VB获得位图文件的信息 VB获得文本框中光标所在行的内容 VB获取程序工作路径的方法 VB获取文件或文件夹属性 基于VB的通用折行打印程序 基于VB和EXCEL的报表设计及打印 VB建立多级目录 -VB资料 VB建立快捷方式-VB资料 VB建立文件关联 -VB资料 将RichTextBox 之中被选取的内容复制到剪贴簿-VB资料 将我的程序的文本直接送到WORD中(不用粘贴)-VB资料 开启文件属性窗口 -VB资料 sql2000里如何得到当前记录号??/ ----------- iis或win2000server中如何设置文件夹大小??? 大家有没有做过医疗社区管理软件的?最好有成熟的源代码。 介绍一款好的主板,搭配p41.7G。 我升级了我的VB6程序,有个问题解决不了,来看看 做一个Java程序。将光盘上的某个目录拷到C盘上 清教一个计算机系统结构的计算题,题目见内容 关于文件读入的问题!谢谢各位! 数据统计分析问题,请专家关注!好难 如何判断执行 INSERT INTO 语句插入记录成功或失败? 哪位大侠能给我详细的介绍一下CWnd::SendMessage()函数 Strange return value of CoInitializeEx [HELP]辞职问题:杭州的GGJJ们来帮帮我 谁有windows 95的下载地址? ADO与本地数据库问题,看来是高难问题啊,怎么没人接招呢? tell me why??有关jdbc for sqlserver 2维数组按某一列进行排序,内详,求救? 关于在Oracle数据库服务器如何提供下载一个excel文件型的大对象到本地?十万火急!三根鸡毛! 怎样得到数据库里某字段里没出现过、而且还是最小的数字呢? 请问大家这种数据表怎样设计最好??? 关于ID3V2?请大家帮帮忙 <<VC技术内幕(第四版)>>中应用程序框架示例的程序要怎样才能运行? Win2K的远程访问出现身份验证问题 关于TMediaPlayer缩放,请您赐教 如何显示一个库中所有的表以及显示一个表的结构 能不能使自己画的一个图形,响应鼠标事件? 如何取得数据库某字段中从未出现过的、而且还是最小的数字呢? 关于终端服务器的打印问题!!!!在线等,解决立即给分 怎样才可以在WIN2000下隐藏你的程序 急,请问把一个控件上的内容拖到LISTVIEW1上时,在LISTVIEW1上的一个ITEM上释放,此时如何获得ITEM的caption??? .pdg 类型文件怎么打开? 大家不妨说说二层应用程序转向三层应用的一些经验以及注意事项 为何看不到网络邻居上其它计算机的共享文件夹? 请问大家这种数据表怎样设计最好??? 用listbox绑定数据库的某个字段后,如何通过点击取得相应的值 dbgrid中的mousedown事件怎么触发不了 系统日志的错误信息,谁给分析一下?分不够还可以加 tell me why??有关jdbc for sqlserver VC录音问题 内存分配问题! 我安装上.net后,运行一个asp.net程序,可是出现了下载index.aspx文件的对话框? 菜单总被下拉列表框盖住的问题? 有谁知道Base64编码的规定?十万火急!!! 如何用Filter来过滤时间呢!!! 菜单总被下拉列表框盖住的问题? 一个带变量的JS语句 如何使用jBrokerWeb来做Java Web Service win95下的DLL注册的问题。。。?????? 急!急!关于<form runat=server>的@@@@@ 请进~~~~~~~~~~~~~~(急。。。答出者高分相送) 一个AnsiString 和内存的问题。 荷塘月色作者想表达什么思想感情? 《荷塘月色》第五段意境?表达作者怎样的心情?里面的曲曲折折写出了什么?高高低低写出了什么?田田写出了什么? 四年级上册语文课文搭石课后作文 荷塘月色 作者的思想感情在文中有什么变化?作者是按什么线索构思全文的? 求几本比较好的书,或者好的作家名字,适合高中生阅读摘抄提高作文水平的~RT 跳一跳 《荷塘月色》中作者蕴含什么思想感情? 荷塘月色表达了朱自清怎么样的情感 三年级下册语文25课音频mp3 荷塘月色一文表达了作者怎样的感情 苏教版 s版六年级上册语文教学计划 雅思 剑五 test3 大作文 Some people support that children should be encouraged to have a sense ofcompetition while some people advocate the spirit of co-operating which is moreuseful should be taught to children.The sense of competition may be 我眼总的海伦凯勒(小学5年级作文) 《荷塘月色》练习题,谁能告诉我答案月光如流水一般,□□地泻在这一片叶子和花上.□□的青雾浮起在荷塘里.叶子和花仿佛在牛乳中洗过一样,又像笼着轻纱的梦.虽然是满月,天上却有一层□ 丝绸之路巨型石雕在哪个省 与“吕不韦”有关的一个成语是什么? S版四年级上册语文视频 五年级下册语文第二课《丝绸之路》关于巨型石雕的句子有木有? 回首2014年盼望2015年作文 高中必修2《荷塘月色》 第一题 急非常急中描写哪些景物?各有什么特点?找出文中描写心里感受的语句,作者的情绪随景物的转换发生了怎样的变化! 人们今天能在哪里可看到“丝绸之路”巨型石雕?今晚就要交, 有关项羽的成语,有关刘邦的成语,有关吕不韦的成语,有关周勃 关于《荷塘月色》的题!1、田田、层层、亭亭这些叠音词朗读时产生了怎样的艺术效果?2、“薄薄的青雾”写成“薄的青雾”好不好?为什么?3、“淡淡的云”写成“淡的云”会怎样?为什么?4、 每当人们凝望“丝绸之路”巨型石雕,无不引起对往日商贸、文化繁忙的遐想改为带问号的句子,句子意思不变急 和“吕不韦”有关的一句成语 高一语文必修二《荷塘月色》课后第二题答案 一座古朴典雅的"丝绸之路"巨型石雕,矗立在西安市玉祥门个.如何缩句但矗立是一个词,另外,在玉祥门是否可以考虑去掉呢. 和吕不韦有关的一句成语是什么 洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去.的感受. 结合将相和一课,对"秦王双手捧住璧,一边看一边称赞.”这句话,展开合理的想象,想一想秦王会说什么 和吕不韦有关的一个成语,叫"奇*可*"什么什么的, 洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去.写体会啊 在将相和中蔺相如说了一句话:“这块璧有点小毛病,让我指给您看.”用一个成语来表达,并写一个句子.写的句子越少越好,句子内容要像五年级小学生写的. 荷塘月色的写作手法及其作用举例子 说明 洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去.选自朱自清《匆匆》,求赏析 《生命,生命》课文全文一定是全文! 明天4级了,求一篇关于世博会的英语4级的作文? 半命题作文,我和什么的故事初中作文不低于600字. 改写"这在古今中外雕塑史上是绝无仅有的"这句话使其表达的感情更加强烈. 生命生命课文全文4年级的课文必须要全文 世博会英语四级作文要范文那种的,可以不带翻译,不要随便给我那种,给了也没分,非诚勿扰 改写"这在古今中外雕塑史上是绝无仅有的"这句话,使其表达的感情更强烈 生命生命课文 展望2015的作文,不要回顾2014的,要写出2015对于小学六年级的重要性 琢磨的两个意思(1雕刻和打磨2加工使精美)可以造什么句子 写法的种类有哪些? 回顾2014展望2015报告怎么写 描写老巷子的精美语句不要诗句, 仿写:人生如流水,不遇到礁石,难以激起美丽的浪花. 浅谈如何提高小学低年级语文课堂教学的有效性 仿写句子:那一尊尊精美的城市雕像,就像丽人的明眸;就像( )的( );就像( )的( );就像()的( 如何提高农村小学语文阅读教学的有效性 课文 成吉思汗和鹰 描写童年的精美语句 急! 半命题作文 用什么书写青春 怎么写 写一篇关于镜子的作文.写镜子的反面,立意就是镜子一生都在照着别人,从没见过自己,直到有一天,在别的镜子中才真正看到自己,800字作文, 如何写半命题作文 如何摘抄,才能更好提高阅读能力和写作水平 沁园春长沙 诗人看到哪些景物有什么特点
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘