位置: 编程技术 - 正文

Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)(android.net.wifi)

编辑:rootadmin
Android wifi对象属性及简易Demo本章介绍Android开发中WiFi热点和WiFi属性的获取,介绍WiFi的名称、状态等属性以及获取周围WiFi热点的方法。一、怎样获取wifi对象并进行操作要操作 WIFI 设备,需要先获取 Context.getSystemService(Context.WIFI_SERVICE)获取WifiManager对象,并通过这个对象来管理WIFI设备。二、常用的wifi状态三、列表查看有连接信号的wifi热点ScanResult 对象就是用来表示附近 wifi 热点的属性的,可通过 WifiManager.getScanResults() 返回一个ScanResult列表,ScanResult 的重要属性如下:1. BSSID接入点的地址2. SSID网络的名字,唯一区别WIFI网络的名字3. Capabilities网络接入的性能4. Frequency当前WIFI设备附近热点的频率(MHz)5. Level所发现的WIFI网络信号强度四、连接wifi热点通过 WifiManager.getConfiguredNetworks() 方法会返回WifiConfiguration对象的列表,然后再调用WifiManager.enableNetwork();方法就可以连接上指定的热点。五、查看已经连接上的wifi信息WifiInfo 是专门用来表示连接的对象,这个对象可以通过WifiManager.getConnectionInfo()来获取。WifiInfo中包含了当前连接中的相关信息。六、示例1)获得WifiManager2)获取Wifi信息附 WifiManager中计算级别的代码:3)网络权限如:方法封装(返回返回当前连接的wifi的名字)如果不是想获取当前连接,而是想获取WIFI设置中的连接,可以使用 WifiManager.getConfiguredNetworks七、获取当前已连接的wifi配置信息八、Android开发周围wifi热点和属性的获取

推荐整理分享Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)(android.net.wifi),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android wifi应当使用哪种加密方式,android/data/wifipwd,深入理解android wifi,android/data/wifipwd,android.net.wifi,android wifi direct,android.permission.access_wifi_state,深入理解android wifi,内容如对您有帮助,希望把文章链接给更多的朋友!

一、获取wifi属性

获得Android系统相关的属性,通过Manager来获得对对象的操作服务。WiFi相关的操作中需要用到两个Manager:WifiManager和ConnectivityManage:

[java] view plaincopypublic WifiManager wifiManager; //管理wifi public ConnectivityManager connectManager; //管理网络连接 [java] view plaincopywifiManager = (WifiManager) getSystemService(WIFI_SERVICE); //获得系统wifi服务 connectManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);

获得服务后,即可得到对象进而获得相关属性:

[java] view plaincopypublic NetworkInfo netInfo; //网络连接 public WifiInfo wifiInfo; //wifi public DhcpInfo dhcpInfo; //动态主机配置协议信息的对象,获得IP等网关信息 网络信息的获取:

[java] view plaincopynetInfo = connectManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); dhcpInfo = wifiManager.getDhcpInfo(); wifiInfo = wifiManager.getConnectionInfo(); Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)(android.net.wifi)

要获得wifi相关的网络信息,必须设定网络类型参数:ConnectivityManager.TYPE_WIFI.下面就可以获得需要的信息,例如当前连接wifi的名称等等属性,即SSID:

[java] view plaincopywifiInfo.getSSID(); 还要获得当前连接wifi网络的 ip、mask、netgate、dns 等信息,则需要如下实现:

[java] view plaincopyString wifiProperty = "当前连接Wifi信息如下:"&#;wifiInfo.getSSID()&#;'n'&#; "ip:" &#; FormatString(dhcpInfo.ipAddress) &#;'n'&#; "mask:" &#; FormatString(dhcpInfo.netmask) &#;'n'&#; "netgate:"&#; FormatString(dhcpInfo.gateway) &#;'n'&#; "dns:" &#; FormatString(dhcpInfo.dns1) ; 其中dhcpInfo属性的&#;为int型,要转换成通常见到的位地址则需要转换方法:

[java] view plaincopypublic String FormatString(int value){ String strValue=""; byte[] ary = intToByteArray(value); for(int i=ary.length-1;i>=0;i--){ strValue &#;= (ary[i] & 0xFF); if(i>0){ strValue&#;="."; } } return strValue; } public byte[] intToByteArray(int value){ byte[] b = new byte[4]; for (int i = 0; i < 4; i&#;&#;){ int offset = (b.length - 1 - i) * 8; b[i] = (byte) ((value >>> offset) & 0xFF); } return b; } 上述方法即可获得wifi网络相关的信息,根据需要来选择方法。

二、获取周围WiFi热点

wifiManager提供了一个方法getScanResults()来获得周围的wifi信息,其返回的是一组ScanResult对象,存放在list当中,每个ScanResult对象封装了一个wifi热点相关信息,通过ScanResult对象的属性即可获取到,最常用的两个属性为wifi名称(SSID)和信号强度(level):

[java] view plaincopyArrayList<ScanResult> list; //存放周围wifi热点对象的列表 list = (ArrayList<ScanResult>) wifiManager.getScanResults(); 通常我们会根据所搜索到的wifi信号的强度level从强到弱进行排序并显示在列表上:

[html] view plaincopy//将搜索到的wifi根据信号强度从强到弱进行排序 private void sortByLevel(ArrayList<ScanResult> list) { for(int i=0;i<list.size();i&#;&#;) for(int j=1;j<list.size();j&#;&#;) { if(list.get(i).level<list.get(j).level) //level属性即为强度 { ScanResult temp = null; temp = list.get(i); list.set(i, list.get(j)); list.set(j, temp); } } } ScanResult的信号强度属性level是负&#;,因为它是以分贝数来计算的。然后根据你自己的需求创建相应的Adapter将其显示在ListView上。上述方法搜索到的wifi很多,你还可以加上动态更新、wifi过滤等功能进行显示。获取Wifi列表简单示例: by gao_chun.

Android------Service之IntentService 首先说一下Service本身存在的两个问题:1.Service不会专门启动一条新的线程,Service与它所在应用位于同一个进程中。2.Service也不是专门一条新的线程,所

Android SDK下载和更新失败的解决方法!!! 最近刚换了电脑,开始搭建Android开发环境的时候,下载SDK总是会出现如下错误:

Android------使用AIDL Service 实现跨进程调用Service 为了实现跨进程通信(interprocesscommunication简称IPC),Android提供了AIDLService。AIDL是一种IDL语言,用于生成可以在Android设备上两个进程之间进行通信的代码如

标签: android.net.wifi

本文链接地址:https://www.jiuchutong.com/biancheng/383314.html 转载请保留说明!

上一篇:【API Guides】Android字符串资源的格式化和样式(api/home/getmyregion)

下一篇:Android---43---Service之IntentService

  • 房产税城镇土地使用税税率
  • 中国注册税务师考试时间
  • 印花税会计分录怎么做
  • 银行预留印鉴是公章还是财务章
  • 出口商品认证
  • 暂估入库的价格一般会高一些吗
  • 记账凭证银行利息该怎么记凭证
  • 企业的净资产包括实收资本吗
  • 减免的城建税怎么计算
  • 市政押金无法收回的损失可以税前扣除吗
  • 计提代扣个人工会经费怎么做账
  • 出口企业退税分录
  • 货币形式投资的特点是
  • 增值税专用发票怎么开
  • 税务局代开的劳务费发票可以入账吗
  • 持有待售固定资产为什么不计提折旧
  • 出差旅费补助报销明细表需要发票吗?
  • 公司开业前期费用处理
  • 餐饮行业液化气使用标准
  • 材料短缺赔偿会计分录怎么写?
  • 出租土地使用权计入什么科目
  • 如何开具红字增值发票
  • 跨年的增值税普通发票可以入账吗
  • 货物已到发票未到怎么做账
  • 税控服务费全额抵扣文件
  • 企业残疾人保障金
  • 提供有形动产租赁服务的增值税税率是
  • 按揭购入固定资产怎么算
  • 预缴增值税抵扣销项税额账务处理
  • 专利权转销处理方案
  • 人力成本费用率和人工成本利润率
  • 进货的运费怎么计算
  • 接的网线影响传输吗
  • 营改增后租金如何交税
  • 为员工购买商业保险的通知
  • 借款业务包括以下哪些形式
  • thinkphp ajaxfileupload实现异步上传图片的示例
  • php选择结构
  • 3d人体骨骼模型软件
  • 报税系统清卡成功状态
  • 外地预交的企业所得税如何在季度企业所得税申报
  • 金税盘每年服务费
  • 存放在仓库中的柴油属于什么会计要素
  • 计提和发放工资金额不一致
  • 食用油交税吗
  • 残保金申报基数
  • 一般纳税人外地预缴税率
  • 企业销售收入确认条件
  • 无形资产是什么?
  • 税金及附加需不需要计提
  • 非货币性资产交换以公允价值为基础进行计量
  • 工程完工后的质保金怎么入账
  • 工程安装人工费怎么开票
  • 接受捐赠的固定资产进项税额可以抵扣吗
  • 业务招待费 纳税调增
  • 员工报销工伤险怎么报销
  • 同时知识产权专利,其做账是?
  • 未开票收入怎么做账
  • 收到免费赠送的产品怎么做账
  • 洗车发票税目
  • 2020公司年会奖品清单
  • 科普知识大全
  • 从根上保证电脑安全、不中毒的方法
  • linux中统计字符命令
  • Win10 Mobile Redstone预览版14291上手体验评测
  • vs2012配置opencv4.8
  • bat批处理命令大全
  • js操作dom节点的方法
  • 下载python教程
  • js原生dialog
  • js中split方法的作用
  • 新的开始励志句子
  • script标签的defer和async
  • 生成ssh
  • js class 私有方法
  • javascript数据结构与算法第三版
  • jquery的方法
  • javascript面向对象 第三方类库
  • 专项附加扣除当月填报何时生效
  • 1+征收率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设