Usm*_*iaz 2 android android-wifi
我想通过以下配置以编程方式在android中创建Access Point.
AccessPointName :SomeName
Security:WPA2 PSK
Password:SomeKey
我怎样才能做到这一点?问候
Viv*_*vek 18
我曾经遇到过这个问题.要创建WPA2 PSK访问点,需要使用WPA2 PSK参数填充WifiConfiguartion对象.但是我找不到设置KeyManagement为的方法WPA2_PSK.有只为选择WPA_PSK,IEEE8021X,WPA_EAP和NONE.然后我读了WifiConfiguration.java的android源代码.我能够发现确实有选项WPA2_PSK,但它被隐藏了@hide,但它是int有价值的4.所以我所做的就是通过4在wifiConfiguration.allowedKeyManagement.set(4);.见下面的代码.
WifiConfiguration wifiConfiguration = new WifiConfiguration();
wifiConfiguration.SSID = "SomeName";
wifiConfiguration.preSharedKey = "SomeKey";
wifiConfiguration.hiddenSSID = false;
wifiConfiguration.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
wifiConfiguration.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wifiConfiguration.allowedKeyManagement.set(4);
wifiConfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
Run Code Online (Sandbox Code Playgroud)
最后wifiConfiguration使用accesspoint传递如下
WifiApControl apControl = WifiApControl.getInstance(context);
apControl.setEnabled(wifiConfiguration, true);
Run Code Online (Sandbox Code Playgroud)
或者你可以wifiConfiguration在java中使用它与反射技术来激活访问点.