基本信息
源码名称:Android 开启指定名称和密码的 Wifi热点 实例源码下载
源码大小:1.41M
文件格式:.zip
开发语言:Java
更新时间:2014-08-26
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


package com.august.testwificonnect;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import android.content.Context;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.util.Log;

public class HPaConnector {

	private static final String SETUP_WIFIAP_METHOD = "setWifiApEnabled";
	Context context = null;
	WifiManager wifiManager = null;
	static HPaConnector hPaConnector = null;

	public static HPaConnector getInstance(Context context) {
		if (hPaConnector == null) {
			hPaConnector = new HPaConnector();
			hPaConnector.context = context.getApplicationContext();
			hPaConnector.wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
		}
		return hPaConnector;
	}

	public void setupWifiAp(String name, String password) throws Exception {

		if (name == null || "".equals(name)) {
			throw new Exception("the name of the wifiap is cannot be null");
		}
		Method setupMethod = wifiManager.getClass().getMethod(SETUP_WIFIAP_METHOD, WifiConfiguration.class, boolean.class);

		WifiConfiguration netConfig = new WifiConfiguration();
		// 设置wifi热点名称
		netConfig.SSID = name;

		netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
		netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
		netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
		netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
		netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
		netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
		netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);

		if (password != null) {
			if (password.length() < 8) {
				throw new Exception("the length of wifi password must be 8 or longer");
			}
			// 设置wifi热点密码
			netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
			netConfig.preSharedKey = password;
		}

		setupMethod.invoke(wifiManager, netConfig, true);
	}

	public void setupWifiAp(String name) {
		setupWifiAp(name);
	}
}