android开发之 Wifi的四个类

在Android中对Wifi操作,android本身提供了一些实用的包,在android.net.wifi包以下。简介一下:

大致能够分为四个基本的类ScanResult,wifiConfiguration,WifiInfo,WifiManager

(1)ScanResult,通过wifi 硬件扫描来获取周边的wifi 热点。

(2)wifiConfiguration 连通wifi 接入点须要获取到的信息。

(3)WifiInfo :

wifi 连通以后。能够通过此类获得一些已经连通的wifi 连接的信息获取当前链接的信息,方法::

       getBSSID() 获取BSSID

       getDetailedStateOf() 获取client的连通性

       getHiddenSSID() 获得SSID 是否被隐藏

       getIpAddress() 获取IP 地址

       getLinkSpeed() 获得连接的速度

       getMacAddress() 获得Mac 地址

       getRssi() 获得802.11n 网络的信号

       getSSID() 获得SSID

       getSupplicanState() 返回详细client状态的信息

(4)wifiManager :管理wifi 连接。此类里面预先定义了很多常量,能够直接使用,不用再次创建:

 

String ACTION_PICK_WIFI_NETWORK
Activity 动作: 选择一个WIFI网络连接。

int ERROR_AUTHENTICATING
出现一个验证错误问题.

String EXTRA_BSSID
String提供已接入点的BSSID.

String EXTRA_NETWORK_INFO
联合网络信息.

String EXTRA_NEW_RSSI
提供新的RSSI(信号强度).

String EXTRA_NEW_STATE
查看新的请求状态。

String EXTRA_PREVIOUS_WIFI_STATE
当前Wi-Fi的状态 .

String EXTRA_SUPPLICANT_CONNECTED
表示应用后台程序的连接已经获得或丢失。

String EXTRA_SUPPLICANT_ERROR
调用 getIntExtra(String, int)中错误发生时产生此错误问题.

String EXTRA_WIFI_INFO
提供已连上的接入点的信息。

String EXTRA_WIFI_STATE
可用额外的整数型keyword表示Wi-Fi 是否启用, 禁用,正在启用,正在禁用,或者未知.

String NETWORK_IDS_CHANGED_ACTION
配置的网络标识已被更改。

String NETWORK_STATE_CHANGED_ACTION
配置的网络状态已被更改。.

String RSSI_CHANGED_ACTION
 RSSI (信号强度) 发生改变.

String SCAN_RESULTS_AVAILABLE_ACTION
接入点扫描完毕,而且结果已经能够获得。能够调用getScanResults()获得结果.

String SUPPLICANT_CONNECTION_CHANGE_ACTION
广播行为表示连接已经建立或者丢失。

String SUPPLICANT_STATE_CHANGED_ACTION
请求一个接入点连接的状态已经改变。

int WIFI_MODE_FULL
在这样的锁定模式,Wi-Fi将保持激活状态。自己主动尝试连接范围内,已经配置的接入点。

同一时候发现未配置的接入点。

int WIFI_MODE_FULL_HIGH_PERF
在这样的锁定模式,Wi-Fi将保持和WIFI_MODE_FULL同样的激活状态。不同的是在屏幕设备关闭后也会保持最小丢包和最小延时高功耗连接。因此应尽量不在非必要的情况下使用该模式。

int WIFI_MODE_SCAN_ONLY
在这样的锁定模式,Wi-Fi将保持激活状态。

但仅仅能进行接入范围内的扫描。而且不会自己主动连接到已经配置的接入点,也不会自己主动进行扫描操作。须要应用明白的出发扫描操作。

String WIFI_STATE_CHANGED_ACTION
广播行为表示。当前Wi-Fi状态有可能是:已启用,已禁用,正在启用,正在禁用。

int WIFI_STATE_DISABLED
Wi-Fi 被禁用。

int WIFI_STATE_DISABLING
Wi-Fi 開始禁用,假设操作成功,状态为WIFI_STATE_ENABLED

int WIFI_STATE_ENABLED
Wi-Fi 已经被启用。.

int WIFI_STATE_ENABLING
Wi-Fi 開始启用,假设成功,状态为WIFI_STATE_ENABLED.

int WIFI_STATE_UNKNOWN
Wi-Fi 未知状态。在启用或禁用过程产生错误导致.

方法:

Public Methods

int addNetwork(WifiConfiguration config)

加入一个新网络.

static int calculateSignalLevel(int rssi, int numLevels)

计算信号等级.

static int compareSignalLevel(int rssiA, int rssiB)

比較A和B的信号强度.

WifiManager.MulticastLock createMulticastLock(String tag)

创建多点传送锁。

WifiManager.WifiLock createWifiLock(int lockType, String tag)

创建一个新的wifi锁.

WifiManager.WifiLock createWifiLock(String tag)

创建一个新的wifi锁。以tag标记的參数.

boolean disableNetwork(int netId)

禁用一个以配置好的网络.

boolean disconnect()

取消当前接入点的连接.

boolean enableNetwork(int netId, boolean disableOthers)

同意当前已配置网络可连接.

List<WifiConfiguration> getConfiguredNetworks()

返回全部可配置的网络列表.

WifiInfo getConnectionInfo()

假设有动作,返回当前wifi连接的动态信息.

DhcpInfo getDhcpInfo()

Return the DHCP-assigned addresses from the last successful DHCP request, if any.

List<ScanResult> getScanResults()

返回扫描出的网络列表.

int getWifiState()

获得wifi状态.

boolean isWifiEnabled()

返回wifi可用或不可用.

boolean pingSupplicant()

Check that the supplicant daemon is responding to requests.

boolean reassociate()

(无论是否已连接)又一次连接当前接入点.

boolean reconnect()

假设当前网络连接已丢失,又一次连接当前接入点.

boolean removeNetwork(int netId)

从可配置网络列表中移除.

boolean saveConfiguration()

保存当前可配置网络列表.

boolean setWifiEnabled(boolean enabled)

启用或禁用wifi.

boolean startScan()

请求对接入点的扫描.

int updateNetwork(WifiConfiguration config)

更新网络或者结束一个已配置好的网络.

android开发之 Wifi的四个类的更多相关文章

  1. Android开发之MdiaPlayer详解

    Android开发之MdiaPlayer详解 MediaPlayer类可用于控制音频/视频文件或流的播放,我曾在<Android开发之基于Service的音乐播放器>一文中介绍过它的使用. ...

  2. Android开发之Java集合类性能分析

    对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List.Set和 Map这三大类的集合,今天Android吧(ard8. ...

  3. Android开发之旅: Intents和Intent Filters(理论部分)

    引言 大部分移动设备平台上的应用程序都运行在他们自己的沙盒中.他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互. 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义 ...

  4. Android开发之TextView高级应用

    Android开发之TextView高级应用 我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.以下就和大家分享一下TextView的一些使用技巧. A ...

  5. Android开发之旅5:应用程序基础及组件

    引言 上篇Android开发之旅:应用程序基础及组件介绍了应用程序的基础知识及Android的四个组件,本篇将介绍如何激活组关闭组件等.本文的主题如下: 1.激活组件:意图(Intents) 1.1. ...

  6. Android开发之旅4:应用程序基础及组件

    引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...

  7. Android开发之InstanceState详解

    Android开发之InstanceState详解   本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...

  8. 【Android UI】Android开发之View的几种布局方式及实践

    引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理 ...

  9. Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab

     今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...

随机推荐

  1. clock gate

    clock gate 这个专题,比较复杂设计DC  PT PR.下面仅仅从RTL行为级说明一下.

  2. Python的第二堂课(2)

    一.初探python print('Hello,靓仔!') 不得不说,这句话还是so real的(逃 二.Python中的变量 1.什么是变量?(what) 量:记录某种现实世界中事物的某种状态: 变 ...

  3. Python GUI界面开发环境配置:Pycharm+PyQt5

    通过DoS命令行执行如下命令,可能需要管理员权限. 检查Python版本:python 更新pip版本:python -m pip install --upgrade pip 安装PyQt5: pip ...

  4. Codeforces Round #439 (Div. 2) C. The Intriguing Obsession

    C. The Intriguing Obsession 题目链接http://codeforces.com/contest/869/problem/C 解题心得:     1.由于题目中限制了两个相同 ...

  5. sqlserver查看死锁进程工具脚本p_lockinfo

    /* -- 处理死锁 -- 查看当前进程,或死锁进程,并能自动杀掉死进程 -- 因为是针对死的,所以如果有死锁进程,只能查看死锁进程 -- 当然,你可以通过参数控制,不管有没有死锁,都只查看死锁进程 ...

  6. 算法学习记录-图——最短路径之Dijkstra算法

    在网图中,最短路径的概论: 两顶点之间经过的边上权值之和最少的路径,并且我们称路径上的第一个顶点是源点,最后一个顶点是终点. 维基百科上面的解释: 这个算法是通过为每个顶点 v 保留目前为止所找到的从 ...

  7. java 罕见的依赖报错 jstat: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

    java 都用了N长时间了,突然,意外地发现有一个依赖的so文件从来没找见过 # ldd /usr/bin/java linux-vdso.so.1 =>  (0x00007fffba76900 ...

  8. 利用pytorch复现spatial pyramid pooling层

    sppnet不讲了,懒得写...直接上代码 from math import floor, ceil import torch import torch.nn as nn import torch.n ...

  9. json的两种表示结构(对象和数组).。

    JSON有两种表示结构,对象和数组.对象结构以”{”大括号开始,以”}”大括号结束.中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如 ...

  10. RESTful API接口

    我所理解的RESTful Web API [设计篇] 百度:RESTful restful一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件 ...