Android 2.2 wifi热点API

Android 2.2 wifi热点API,第1张

Android 2.2 wifi热点API

你可以打电话

private boolean setWifiApEnabled(WifiConfiguration wifiConfig, booleanenabled);

使用反射:)

WifiManager
使用反射获取
WifiManager
声明的方法之后,查找该方法名称
setWifiApEnabled
并通过
WifiManager
对象调用它

这些API被标记为@hide,因此当前您不能直接使用它们,但是它们出现在WifiManager的AIDL上,因此可以访问!

一个示例可以是:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);Method[] wmMethods = wifi.getClass().getDeclaredMethods();for(Method method: wmMethods){  if(method.getName().equals("setWifiApEnabled")){    WifiConfiguration netConfig = new WifiConfiguration();    netConfig.SSID = ""PROVAAP"";    netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);    netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);    netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);    netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);    netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);    netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);    netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);    netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);    try {      method.invoke(wifi, netConfig,true);    } catch (IllegalArgumentException e) {      e.printStackTrace();    } catch (IllegalAccessException e) {      e.printStackTrace();    } catch (InvocationTargetException e) {      e.printStackTrace();    }  }}

它可以正常工作,但是我无法使用自己的配置更改当前配置,并且获取活动AP的当前WifiConfiguration会将我驱动为空配置。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存