Android SDK并没有提供开启热点的方法,但是我们可以利用JAVA的反射技术实现,如下,我们开启一个SSID为WifiAP,密码为12345678的热点
WifiConfiguration apConfig = new WifiConfiguration();
//配置热点的名称
apConfig.SSID = "WifiAP";
apConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
apConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
apConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
apConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
//配置热点的密码
apConfig.preSharedKey="12345678";
//通过反射调用设置热点
Method method = mWifiManager.getClass().getMethod(
"setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);
//返回热点打开状态
method.invoke(mWifiManager, apConfig, enabled);
哦,对了,别忘记添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>