首先需要强调一点的是wifi只能在真机上测试!
     在Android里,所有的wifi操作都在android.net.wifi包里,而常用的类也就只用几个,对于一般的开发人员来说,常用的操作也是有限的,不需要刻意的去记,用的时候现查就ok了,下面是《Android应用开发揭秘》里面关于wifi的范例,个人感觉还挺齐全,跟大家分享一下!

复制内容到剪贴板

代码:

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();
}
}

转载于:https://blog.51cto.com/8382359/1342300

Android Wifi方法大全相关推荐

  1. win7电脑连接无线网络怎么连接服务器未响应,Win7无线网络无法连接的原因及Wifi无法连接解决方法大全...

    目前无线网络连接已经是大家使用的设备连接网络的主要方式,然而很多朋友在使用Win7系统笔记本或是电脑时会遇到Win7无线网络无法连接的问题,无线网络无法连接的原因其实有很多种,解决方法也要根据故障的原 ...

  2. android wifi 流程图_实现双wifi的方法及Android终端与流程

    本发明涉及无线通信技术领域,尤其涉及一种实现双wifi的方法及Android终端. 背景技术: 在楼宇对讲产品中,楼宇对讲的家庭设备,如平板,需要连接到楼宇对讲的局域网络,以实现与楼宇内的相关设备进行 ...

  3. android 图片的处理方法,Android图片处理,ImageView的属性和方法大全

    原标题:Android图片处理,ImageView的属性和方法大全 通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开始来学习 ...

  4. wifi虚拟服务器名称怎么弄,虚拟wifi设置方法大全【图解】

    现在手机的功能都很强大,我们除了可以利用手机通讯之外,手机还具有很多的功能.我们可以在手机上面听歌.看视频.上网等.这些功能都是离不开网络的,只有有了网络我们才能更好的使用这些功能.如果是直接使用数据 ...

  5. android 多张图片动态效果,Android图片处理,ImageView的属性和方法大全

    通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开始来学习如何在进行图片展示,这就是涉及到另外一个非常重要的控件家族,那就是I ...

  6. Android 逆向分析大全

    转载:Android 逆向分析大全:https://www.jianshu.com/p/a12d04fc748f 1. 概述 1.1 分析步骤 通用逆向分析步骤 1. 了解该模块正向编程相关方法 2. ...

  7. Android 开发总结大全

    *android 开发总结 框架,工具,流程 业余时间总结学习 代码框架总结 1. 可以将activity中基类保存每一个子类的Context,然后通过Application中的函数负责保存,任意时候 ...

  8. android 系统(6)---Android ADB 命令大全

    原文链接:https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也 ...

  9. Android游戏开发大全

    查看书籍详细信息: Android游戏开发大全 编辑推荐 帮助读者掌握Android游戏项目的开发流程 和项目驱动的好书! 内容简介 <Android游戏开发大全>以Android手机游戏 ...

最新文章

  1. MySQL事务的回滚
  2. pythonzerojudge题库及答案_大学mooc2020用Python玩转数据试题及答案
  3. BUUCTF-----actf_2019_babyheap (UAF)
  4. ARM GIC简介与Linux中断处理分析
  5. C语言进阶深度学习目录表
  6. Linux下docker的安装及常用命令
  7. ios沙箱模式开启_iOS我眼中的沙盒机制
  8. xshell密钥远程登录管理服务器
  9. 64qam调制解调MATLAB,16QAM调制解调技术分析与MATLAB仿真
  10. Student数据库创建
  11. 重要极限二:x趋近于无穷大,(1+1/x)^x的极限
  12. unity如何插入图片_Unity3D教程:导入贴图和模型
  13. 时间(格林尼治时间/协调世界时/世界时间)
  14. 记事本中写c/c++程序在Windows下运行
  15. 英语语法中的同位语和插入语
  16. 遍历同辈节电的方法_家庭节水节电的24个好方法
  17. 任天堂服务器维护11.2,switch11.0.0版本更新内容汇总 NS11.0.0更新维护公告
  18. 关于软件测试的论文文库,软件测试毕业论文[共46页]
  19. Anconda 安装
  20. 如何用开源飞控PIXHAWK进行二次开发?

热门文章

  1. 关于H3C iNode防代理功能会将pplive等软件检测为代理而下线问题的解决方法
  2. xpath in biztalk
  3. 00018计算机应用2018年4月,全国2019年4月自考00018《计算机应用基础》试题及答案...
  4. html5自动添加数据库,HTML5本地存储之如果没有数据库究竟会怎样
  5. hashmap 不释放空间_刁难问题,为什么HashMap默认容量为16加载因子为0.75
  6. Dubbo集成Zookeeper的实现原理
  7. parkAndCheckInterrupt
  8. 初始化方法-在类的外部给对象增加属性的隐患
  9. spring项目搭建-注册对象到容器测试
  10. 实例对象的属性和原型对象中的属性重名问题 神奇的原型链 继承 继承案例