wifi网卡的状态由一系列的整型常量来表示的:
1)、int WIFI_STATE_DISABLED Wi-Fi is disabled. Wi-Fi不可用 1
2)、int WIFI_STATE_DISABLING Wi-Fi is currently being disabled. Wi-Fi正在关闭 0
3)、int WIFI_STATE_ENABLED Wi-Fi is enabled. Wi-Fi可用 3
4)、int WIFI_STATE_ENABLING Wi-Fi is currently being enabled. Wi-Fi正在打开 2
5)、int WIFI_STATE_UNKNOWN Wi-Fi is in an unknown state.未知网卡状态 4
操作wifi所需要的权限:
允许修改网络状态的权限。
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
允许修改wifi 状态的权限。
<uses-permission android:name="android.permission.CHANGE_wifi_STATE"/>
允许访问网络状态的权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
允许访问wifi状态的权限。
<uses-permission android:name="android.permission.ACCESS_wifi_STATE"/>
常用方法封装在一个类里面,要用的时候直接可以调用:
package com.yarin.android.Examples_08_08; import java.util.List; import android.content.Context; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.WifiLock; public class WifiAdmin { //定义WifiManager对象 private WifiManager mWifiManager; //定义WifiInfo对象 private WifiInfo mWifiInfo; //扫描出的网络连接列表 private List<ScanResult> mWifiList; //网络连接列表 private List<WifiConfiguration> mWifiConfiguration; //定义一个WifiLock WifiLock mWifiLock; //构造器 public WifiAdmin(Context context) { //取得WifiManager对象 mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); //取得WifiInfo对象 mWifiInfo = mWifiManager.getConnectionInfo(); } //打开WIFI public void OpenWifi() { if (!mWifiManager.isWifiEnabled()) { mWifiManager.setWifiEnabled(true); } } //关闭WIFI public void CloseWifi() { if (!mWifiManager.isWifiEnabled()) { mWifiManager.setWifiEnabled(false); } } //锁定WifiLock public void AcquireWifiLock() { mWifiLock.acquire(); } //解锁WifiLock public void ReleaseWifiLock() { //判断时候锁定 if (mWifiLock.isHeld()) { mWifiLock.acquire(); } } //创建一个WifiLock public void CreatWifiLock() { mWifiLock = mWifiManager.createWifiLock("Test"); } //得到配置好的网络 public List<WifiConfiguration> GetConfiguration() { return mWifiConfiguration; } //指定配置好的网络进行连接 public void ConnectConfiguration(int index) { //索引大于配置好的网络索引返回 if(index > mWifiConfiguration.size()) { return; } //连接配置好的指定ID的网络 mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true); } public void StartScan() { mWifiManager.startScan(); //得到扫描结果 mWifiList = mWifiManager.getScanResults(); //得到配置好的网络连接 mWifiConfiguration = mWifiManager.getConfiguredNetworks(); } //得到网络列表 public List<ScanResult> GetWifiList() { return mWifiList; } //查看扫描结果 public StringBuilder LookUpScan() { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < mWifiList.size(); i++) { stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":"); //将ScanResult信息转换成一个字符串包 //其中把包括:BSSID、SSID、capabilities、frequency、level stringBuilder.append((mWifiList.get(i)).toString()); stringBuilder.append("/n"); } return stringBuilder; } //得到MAC地址 public String GetMacAddress() { return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress(); } //得到接入点的BSSID public String GetBSSID() { return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID(); } //得到IP地址 public int GetIPAddress() { return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress(); } //得到连接的ID public int GetNetworkId() { return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId(); } //得到WifiInfo的所有信息包 public String GetWifiInfo() { return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString(); } //添加一个网络并连接 public void AddNetwork(WifiConfiguration wcg) { int wcgID = mWifiManager.addNetwork(wcg); mWifiManager.enableNetwork(wcgID, true); } //断开指定ID的网络 public void DisconnectWifi(int netId) { mWifiManager.disableNetwork(netId); mWifiManager.disconnect(); } }
发表评论
-
数据结构利器之私房STL
2012-12-11 10:29 0http://www.cnblogs.com/daoluanx ... -
Android xml资源文件中@、@android:type、@*、?、@+含义和区别
2011-12-28 08:48 1052一.@代表引用资源 1.引用自定义资源。格式:@[packa ... -
关于handler
2011-11-11 17:26 1173链接:Android的消息机制 ... -
常用activity跳转
2011-11-01 10:50 1620------------------------------- ... -
Activity的android:launchMode
2011-10-14 09:41 1097<activity android:launchMode ... -
android 蓝牙
2011-09-26 11:32 1184对于一般的软件开发人员来说,蓝牙是很少用到的,尤其是Andro ... -
HttpClient的使用
2011-09-13 11:11 1097HTTP 协议可能是现在 Internet 上使用得最多、最重 ... -
XML解析之-pull解析
2011-09-09 10:07 10750Pull是Android内置的xml解析器。Pull解析器的运 ... -
XML解析之-SAX解析
2011-09-08 18:04 1461在android开发中,我们经常使用SAX解析来解析xml数据 ... -
XML解析之-XStream解析
2011-09-08 17:07 11404本例使用XStream生成一个xml文件,再发序列化xml ... -
json数据解析一
2011-09-08 11:05 1631本例用JsonReader类来解析 ... -
json数据解析二
2011-09-08 10:47 1260这一篇我们将采用Gson类来解析json数据。把json解析出 ... -
Google Map(二)
2011-09-06 19:26 1721在Google Map(一) 中,我们学习了怎么样在手机中显示 ... -
Google Map(一)
2011-09-06 18:24 1076今天学习了google map的简单开发,此篇博文主要内容是: ...
相关推荐
Android WiFi Display功能优化 Android WiFi Display功能优化是指在Android系统中,WiFi Display功能的优化建议,以提高该功能的性能和可维护性。本文将从架构图、代码分析和优化建议三个方面对Android WiFi ...
Android WiFi Camera是一款基于Android平台的应用程序,它将用户的Android设备转变为一个无线局域网(WLAN)IP摄像头。这个应用程序允许用户通过WiFi网络在不同设备上实时查看、控制和记录来自Android设备的视频流,...
在Android平台上,实现WiFi连接与断开是一项基本且重要的任务,尤其对于开发涉及网络功能的应用时。本节将深入探讨如何构建一个可以完全替代系统原生WiFi管理功能的应用,包括搜索WiFi热点、按信号强度排序、按钮...
在Android系统中,实现WiFi自动连接功能涉及到多个关键知识点,包括Android系统的权限管理、WiFi服务的使用、BroadcastReceiver监听以及用户界面的交互等。以下将详细介绍这些内容。 首先,要实现WiFi自动连接,...
Android WIFI驱动工作流程是一个复杂的主题,包含了硬件与软件的协作以及网络通信的原理。首先,Android设备的WIFI功能通常是由内置硬件模块实现的,如Marvell 8686。在硬件层面,它集成了802.11a/g/b RF、基带、CPU...
### Android WiFi 模块概述 Android系统的WiFi功能是其核心通信能力之一,它涉及多个层次的组件协同工作,包括用户界面、系统服务、底层驱动以及网络协议栈等。本篇文章将详细解析Android WiFi的工作流程,从打开...
【标题】"Android WiFi网络摄像头源代码"是一个开源项目,主要目标是实现通过WiFi网络将Android设备转换为网络摄像头的功能。这个项目对于开发者而言,是一个深入理解Android系统、网络编程以及多媒体处理的好资源。...
在Unity引擎中开发Android应用程序,实现WiFi扫描和连接功能是一项技术密集型任务,涉及到多个层次的知识点。以下是对这些知识点的详细阐述: 1. **Unity跨平台开发**:Unity允许开发者使用C#语言创建游戏和应用,...
在Android系统中,WiFi列表是用户访问无线网络的关键接口,允许用户查看可用的WiFi热点并进行连接。这个功能对于移动设备来说至关重要,因为它确保了设备能够通过无线方式接入互联网。以下将详细介绍Android WiFi...
android wifi 连接Demo.rar
总的来说,“Android WiFi定频认证软件”是Android设备开发者和测试人员的有力工具,它简化了复杂的定频测试过程,有助于确保WiFi功能的可靠性。通过理解和熟练使用这类工具,开发者可以更好地优化其产品的无线性能...
本文将从 WIFI 的基本架构、WIFI 在 Android 中如何工作、配置 Android 支持 WIFI、使能 wpa_supplicant 调试信息、配置 wpa_supplicant.conf 和配置路径和权限等方面对 Android WIFI 架构和控制流程进行详细的介绍...
《Android WiFi 视频传输技术详解》 在移动设备中,Android WiFi 视频传输是一项实用的技术,它使得手机与手机之间能够进行实时的视频分享和通信。本文将深入探讨如何利用Android系统的API实现这一功能,通过源代码...
### RK Android WiFi BT配置及常见问题说明 #### 一、RK Android 平台WiFi架构 **1.1 Android WiFi 基本架构** 在理解RK平台的WiFi架构之前,我们首先需要了解Android平台上的WiFi基本架构。Android系统中的WiFi...
在Android系统中,实现WIFI连接以及获取热点功能涉及到多个层次的编程知识,包括系统级API的使用、网络通信协议的理解以及用户界面的交互。以下是对这些知识点的详细阐述: 首先,Android系统的WIFI连接主要依赖于`...
### Android WiFi开发流程与关键点分析 #### 一、WiFi基本工作原理与Android WiFi基本架构 **1.1 WiFi运作原理** WiFi的工作机制基于一种叫做Access Point (AP) 的中心节点,以及一个或多个客户端(client)之间...
【Android WIFI扫描Demo】是一个Android开发的示例项目,它主要展示了如何在Android设备上进行Wi-Fi网络的扫描和管理。这个源码资源是为Java开发者准备的学习材料,旨在帮助他们理解和实现Android平台上的Wi-Fi扫描...
在Android开发过程中,调试是必不可少的一环,而无线WiFi调试为开发者提供了更加便捷的方式,无需通过USB连接设备,只需在同一个局域网内即可进行远程调试。本文将深入探讨“android wifi 调试 无线debug”这一主题...
【Android WIFI扫描Demo.zip】是一个压缩包,包含了一个Android应用的源代码示例,这个示例专注于演示如何在Android设备上实现WIFI网络的扫描功能。通过分析这个压缩包的内容,我们可以深入理解Android系统中与WIFI...
在Android平台上,开发移动应用时,与WiFi相关的功能是不可或缺的一部分。这个“android wifi工具类(包括静态IP设置)”项目提供了一整套用于管理WiFi的实用工具,可以帮助开发者更轻松地实现各种WiFi操作。下面将...