http://daixj110.iteye.com/blog/1133039

Java代码

package com.example.wifi_ser_demo;

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对象
public 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.release();
}
}
//创建一个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();
}
}

添加权限:

Java代码
  1. <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
  2. <uses-permissionandroid:name="android.permission.ACCESS_CHECKIN_PROPERTIES"></uses-permission>
  3. <uses-permissionandroid:name="android.permission.WAKE_LOCK"></uses-permission>
  4. <uses-permissionandroid:name="android.permission.INTERNET"></uses-permission>
  5. <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
  6. <uses-permissionandroid:name="android.permission.MODIFY_PHONE_STATE"></uses-permission>

更多相关文章

  1. Android主流框架学习之旅
  2. cts android.hardware.camera2.cts.RecordingTest --testBasicRe
  3. 监听网络变化的广播
  4. Handler+Thread+Message模式 Android线程网络
  5. 友盟统计配置
  6. Android之ConnectivityManager
  7. GreenDao 连接与关闭Sqlite数据库
  8. Volley框架网络访问String,JsonObject,JsonArray
  9. 安卓全局获取Context

随机推荐

  1. 广义PSM,连续政策变量因果识别的不二利器
  2. 政策评估中"中介效应"因果分析, 有趣的前
  3. 腾讯云 TDSQL 审计原理揭秘
  4. JavaScript基础之 变量与常量的声明、函
  5. Jupyter Notebook主题设置
  6. 20201230 python数据类型
  7. 20201230 pyc是什么
  8. 20201225 字典的使用
  9. 20201224 字符串常用操作
  10. 20210111 装饰器之案例剖析