android 查询wifi信息的类,Android 获取wifi信息

在androi中WIFI信息的获取可以通过系统提供的WIFI Service获取。

WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE);WifiInfo    wifiInfo    = wifi_service.getConnectionInfo();

其中WifiInfo 中比较常用的信息有:

/*

info.getBSSID();      获取BSSID地址。

info.getSSID();       获取SSID地址。  需要连接网络的ID

info.getIpAddress();  获取IP地址。4字节Int, XXX.XXX.XXX.XXX 每个XXX为一个字节

info.getMacAddress(); 获取MAC地址。

info.getNetworkId();  获取网络ID。

info.getLinkSpeed();  获取连接速度,可以让用户获知这一信息。

info.getRssi();       获取RSSI,RSSI就是接受信号强度指示

*/

同时可以通过接收系统的广播,获取当前WIFI的状态

/*WifiManager.WIFI_STATE_DISABLING  正在停止WifiManager.WIFI_STATE_DISABLED    已停止WifiManager.WIFI_STATE_ENABLING    正在打开WifiManager.WIFI_STATE_ENABLED    已开启WifiManager.WIFI_STATE_UNKNOWN    未知*/以下给出具体的实例:1.在布局文件中增加一个WIFI图标,和显示具体信息的文本  (activity_wifi_example.xml)

xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:orientation="vertical">android:id="@+id/Icon_WifiStatus"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_wifi"/>android:id="@+id/Label_WifiDetail"android:layout_width="wrap_content"android:layout_height="wrap_content"android:maxWidth="320dp"/>2. 为WIFI图标添加一组可选的图标,在drawable-hdpi目录下增加ic_wifi.xml文件,内容如下:

view plaincopy注意需要导入用到的图片3.在代码中接收WIFI状态广播,开启一个500ms的Timer实时查询WIFI状态 (WifiExample.java)

package com.example.wifiexample;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.net.wifi.WifiInfo;

import android.net.wifi.WifiManager;

import android.os.Bundle;

import android.os.Handler;

import android.util.Log;

import android.view.Menu;

import android.widget.ImageButton;

import android.widget.TextView;

public class WifiExample extends Activity {

private final String TAG = "WifiExample";

private IntentFilter      mWifiIntentFilter;

private BroadcastReceiver mWifiIntentReceiver;

private ImageButton       mIconWifi;

private TextView          mLabelWifi;

private Handler           mHandler;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_wifi_example);

mIconWifi  = (ImageButton)findViewById(R.id.Icon_WifiStatus);

mLabelWifi = (TextView)findViewById(R.id.Label_WifiDetail);

mWifiIntentFilter = new IntentFilter();

mWifiIntentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);

mWifiIntentReceiver = new mWifiIntentReceiver();

registerReceiver(mWifiIntentReceiver, mWifiIntentFilter);

mHandler = new Handler();

mHandler.post(new TimerProcess());

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_wifi_example, menu);

return true;

}

private class TimerProcess implements Runnable{

public void run() {

showWIFIDetail();

mHandler.postDelayed(this, 500);

}

}

public void showWIFIDetail()

{

WifiInfo info = ((WifiManager)getSystemService(WIFI_SERVICE)).getConnectionInfo();

mIconWifi.setImageLevel(Math.abs(info.getRssi()));

/*

info.getBSSID();      获取BSSID地址。

info.getSSID();       获取SSID地址。  需要连接网络的ID

info.getIpAddress();  获取IP地址。4字节Int, XXX.XXX.XXX.XXX 每个XXX为一个字节

info.getMacAddress(); 获取MAC地址。

info.getNetworkId();  获取网络ID。

info.getLinkSpeed();  获取连接速度,可以让用户获知这一信息。

info.getRssi();       获取RSSI,RSSI就是接受信号强度指示

*/

int Ip = info.getIpAddress();

String strIp = "" + (Ip & 0xFF) + "." + ((Ip >> 8) & 0xFF) + "." + ((Ip >> 16) & 0xFF) + "." + ((Ip >> 24) & 0xFF);

mLabelWifi.setText("BSSID : " + info.getBSSID() + "/nSSID : " + info.getSSID() +

"/nIpAddress : " + strIp + "/nMacAddress : " + info.getMacAddress() +

"/nNetworkId : " + info.getNetworkId() + "/nLinkSpeed : " + info.getLinkSpeed() + "Mbps" +

"/nRssi : " + info.getRssi());

info.getIpAddress();

}

private class mWifiIntentReceiver extends BroadcastReceiver{

public void onReceive(Context context, Intent intent) {

WifiInfo info = ((WifiManager)getSystemService(WIFI_SERVICE)).getConnectionInfo();

mIconWifi.setImageLevel(Math.abs(info.getRssi()));

/*

WifiManager.WIFI_STATE_DISABLING   正在停止

WifiManager.WIFI_STATE_DISABLED    已停止

WifiManager.WIFI_STATE_ENABLING    正在打开

WifiManager.WIFI_STATE_ENABLED     已开启

WifiManager.WIFI_STATE_UNKNOWN     未知

*/

switch (intent.getIntExtra("wifi_state", 0)) {

case WifiManager.WIFI_STATE_DISABLING:

Log.d(TAG, "WIFI STATUS : WIFI_STATE_DISABLING");

break;

case WifiManager.WIFI_STATE_DISABLED:

Log.d(TAG, "WIFI STATUS : WIFI_STATE_DISABLED");

break;

case WifiManager.WIFI_STATE_ENABLING:

Log.d(TAG, "WIFI STATUS : WIFI_STATE_ENABLING");

break;

case WifiManager.WIFI_STATE_ENABLED:

Log.d(TAG, "WIFI STATUS : WIFI_STATE_ENABLED");

break;

case WifiManager.WIFI_STATE_UNKNOWN:

Log.d(TAG, "WIFI STATUS : WIFI_STATE_UNKNOWN");

break;

}

}

}

}

4.最后在AndroidManifest.xml增加获取WIFI权限的支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bashsupport插件_如何用 bash-support 插件将 Vim 编辑器打造成编写 Bash 脚本的 IDE

IDE(集成开发环境)就是这样一个软件,它为了最大化程序员生产效率,提供了很多编程所需的设施和组件。 IDE 将所有开发工作集中到一个程序中,使得程序员可以编写、修改、编译、部署以及调试程序。在这篇文章中,我们会介绍如何通过使…

java--自动装箱,拆箱

自动装箱:把基本类型转换为包装类类型 自动拆箱:把包装类类型转换为基本类型 之前无法自动装箱时: public static void main(String[] args) { int x 100; Integer i1 new Integer(x); //将基本数据类型包装成对象,装箱 int…

数字孪生:如何撑起一个万亿市场的产业变革?

来源: 脑极体 今天我们介绍一个在产业界如火如荼,但大众还非常陌生的概念:数字孪生(Digital Twin)。在解释这一晦涩难懂的概念前,我首先想到了一个人,前苏联著名的昆虫学家、数学家和哲学家——…

二、python框架相关知识体系

Django框架 1、django框架、flask框架和Tornado框架的区别? django框架,内置组件多,自身功能强大,是一个大而全的框架,ORM、Admin、中间件、Form、ModelFrom、信号、缓存、csrf等flask框架,内置组件少&…

Android跟web哪个好,比系统自带的WebView更好用 | AgentWeb

名称AgentWeb语言Android平台GitHub作者Justson在混合化开发大行其道的今天,安卓开发经常会用到WebView,用于加载网页。系统自带的WebView性能和流畅度都一般,今天给大家推荐一款第三方WebView,性能比系统自带的要好,功…

牛客网--2019校招--瞌睡

题目描述 小易觉得高数课太无聊了,决定睡觉。不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下。你知道了小易对一堂课每分钟知识点的感兴趣程度,并以分数量化,以及他在这堂课上每分钟是否会睡着…

preview窗口 unity_Unity3D在Preview中打印日志的方法

Preview窗口除了可以预览模型之外,我们还可以做别的操作。今天我们来写个小工具在Preview窗口中显示调试信息。可以看下面的图,同样是打印 health 和 power 的日志,在 Preview 中显示比在 Console 中显示舒服多了。左边是Console中显示,右边是…

神经科学如何影响人工智能?看DeepMind在NeurIPS2020最新《神经科学人工智能》报告,126页ppt...

来源:专知Jane Wang是DeepMind神经科学团队的一名研究科学家,研究元强化学习和受神经科学启发的人工智能代理。她的背景是物理、复杂系统、计算和认知神经科学。Kevin Miller是DeepMind神经科学团队的研究科学家,也是伦敦大学学院的博士后。他…

android 6.0 x86 64,安卓x86 6.0 iso下载|android x86 6.0 iso系统下载RC1 版_64位/32位IT猫扑网...

android x86 6.0 iso系统镜像最新发布,rc1版修复了之前的问题,android-x86 6.0-rc1(marshmallow-x86)这是android-x86 6.0的第一个候选版本(marshmallow-x86)稳定释放。小编已将32位和64位的安卓6.0 x86系统分网盘,欢迎下载使用。主要特点6.0…

牛客网--2019校招--丰收

题目描述 又到了丰收的季节,恰逢小易去牛牛的果园里游玩。 牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属…

flash写保护原理_一种基于flash写保护的防止flash被意外篡改的方法与流程

本发明属linux嵌入式芯片安全技术领域于领域,尤其是涉及一种nandflash写保护应用方法。背景技术:目前很多公司都纷纷尝试智能设备(sd,smartdevice)领域,sd设备功能越来越多,使用的flash(闪存)大多为spinor、spinand、emmc等等。sd…

科普长文揭秘生命为何会具有主观能动性

来源:混沌巡洋舰动物的免疫系统依赖于被称为巨噬细胞的白细胞吞噬并吞噬入侵者。这些细胞有着坚定的决心和热情: 在显微镜下,你可以看到一个像球状的巨噬细胞在玻璃片上追逐一个细菌,它的猎物试图通过红细胞的障碍物逃跑时,而在它…

牛客网--19校招--获得最多的奖金

题目描述 小明在越南旅游,参加了当地的娱乐活动。小明运气很好,拿到了大奖, 到了最后的拿奖金环节。小明发现桌子上放着一列红包,每个红包上写着奖金数额。 现在主持人给要求小明在这一列红包之间“切”2刀,将这一列…

Linux——Centos7网络配置1ens33文件

解决的是 Name or service not known 的问题 [rootwww ~]# ping www.baidu.comping: www.baidu.com: Name or service not known [rootwww ~]# 1、网络配置查看 记住NAT设置中的子网IP、子网掩码、网关IP三项,接下来配置文件主要是这三项。网关一般就是.2,ip设置为…

daz模型导入marvelous_传世工坊自制Daz Studio 4.10 系列入门教程

课程目录如何安装如何导入官方素材如何导入第三方素材视图操作快捷键设置如何捏脸如何捏身体如何使角色成长,大人变小孩或者小孩变大人如何使角色变老如何开车(18内容)如何制作头发随风飘动效果如何制作面部表情动画陆续更新,敬请留意。B站在线观看入门教…

科技垄断正在朝着纵向发展

来源:CSDN译者:弯月以下为译文:科技垄断有关的话题,相信大家都不陌生,而纵向垄断指的是通过技术栈深入到硬件的纵向集成。在本文中,我们来讨论一下为什么当下科技垄断开始朝着纵向发展,这种垄断…

android10全局黑暗,传Android 11或加入自动切换全局黑暗模式功能

日前有外媒援引消息人士爆料称,谷歌曾在Android 10系统中带来了全局黑暗模式功能,但自动切换黑暗模式的功能却在Android 10系统的早期测试阶段意外遭砍!而据最新消息显示,Android 11系统有望上线自动切换全局黑暗模式功能。按照An…

ParserError: Error tokenizing data. C error: Expected 1 fields in line 122, saw 2

数据分析和挖掘实战第15章的一段读取.txt文件报错 import pandas as pdinputfile data/meidi_jd.txt outputfile data/meidi_jd_process_1.txt data pd.read_csv(inputfile,encoding utf-8,header None) File "pandas/_libs/parsers.pyx", line 965, in pandas._…

动态规划--牛客网19校招--魔法深渊

题目描述 前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧。 由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施放了魔法的深渊,月神想要爬上此深渊…

python离线安装pip.whl_20180903 - Python Pip 工具下载whl包与离线安装

20180903 - Python Pip 工具下载whl包与离线安装1. 我的Blog2. 简介信息摘要:Linux下,python,pip工具离线安装包Author: andy_yhmyeah.netDate: 20180903关键字:python,python3,pip,pip3,requirements.txt,freeze3. 查…