본문 바로가기

Android

Hotspot 활성화 코드

 Android Source Code중 Hotspot을 활성화 시키는 방법에 대해서 포스팅하고자 합니다. 


Android에서 Hotspot을 활성화하는 코드는 다음과 같습니다.



WifiManage mWifiManager = (WifiManager) mContext.getApplicationContext().getSystemService(Context.WIFI_SERVICE);

ConnectivityManager cman = (ConnectivityManager) mContext.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);

Method[] methods = cman.getClass().getMethods();


boolean result = false;

try {

    mWifiManager.setWifiEnabled(false);

    Method enableWifi = mWifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);

    String ssid  =   "HotspotTest "; // SSID

    String pass  =   "12345678"; // Password

    WifiConfiguration  hotspotConfig =  new WifiConfiguration();

    hotspotConfig.SSID = ssid;

    hotspotConfig.preSharedKey  = pass ;

    hotspotConfig.status = WifiConfiguration.Status.ENABLED;

    hotspotConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

    hotspotConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);

    hotspotConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);

    hotspotConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);

    hotspotConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);

    hotspotConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);

    hotspotConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);

    result = (Boolean) enableWifi.invoke(mWifiManager, myConfig, true);


} catch (Exception e) {

    e.printStackTrace();

    result = false;


상기와 같은 코드를 이용하면, Hotspot이 활성화 됩니다. 


여기서 주의할점은 당연한 이야기겠지만... Hotspot 활성화시 WiFi Scan은 불가능합니다.




'Android' 카테고리의 다른 글

Network Interface Name 확인  (0) 2017.07.04