와이파이 테더링을 자동으로 설정하거나 요청창을 띄우려고 하는데, 안드로이드에 어떤 기능으로 구현을 하나요?
공식적인 API는 없고 루팅해서 어떻게 해야한다는 글이 있던데, 혹시 있나 싶어서 질문 드립니다.
그리고 어떤 분이 (외국사이트) 위 소스를 올리셨는데, 이게 테더링을 설정하는 부분인가요? 이게 어떤 기능을 하는건지도 알려주시면 감사하겠습니다.
출처는 http://stackoverflow.com/questions/3023226/android-2-2-wifi-hotspot-api 여기 입니다.
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();
}
}
}