마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

테더링 api는 무엇인가요?

0 추천

와이파이 테더링을 자동으로 설정하거나 요청창을 띄우려고 하는데, 안드로이드에 어떤 기능으로 구현을 하나요?

공식적인 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();
       }
     }
   }

 

익명사용자 님이 2013년 8월 16일 질문

2개의 답변

0 추천
WifiManaer는 핸드셋 내에 있는 Wifi의 설정과 관련된 부분일 뿐 테더링쪽은 따로 검색을 하셔야할 듯 합니다.

가장 빠르고 정확한 검색은 developer.android.com 에 있는 API문서를 참조하시면 좋을 것 같습니다.
ShakeJ (6,320 포인트) 님이 2013년 8월 21일 답변
0 추천
테더링 자동On/Off 는 공식 API가 없는걸로 알고 있습니다.(오래 전에 찾은거라..)

해당 소스는 자바 리플렉션(reflection)을 이용한 방법입니다. 리플렉션에 대해 찾아보세요.

나머지 메소드나 클래스의 용도는 안드로이드 디벨로퍼 사이트에서 찾아보시면 됩니다.
몽쉘몽쉘 (860 포인트) 님이 2013년 8월 21일 답변
...