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 |
---|