2013-06-17 3 views
8

Android 4.1.1을 사용하고 있습니다 ... 사용자가 Wi-Fi 핫스팟을 사용하여 자신의 네트워크를 만들 수 있도록 응용 프로그램을 만들고 있습니다. 그러면 클라이언트가 Wi-Fi 핫스팟에 연결하여 데이터를 공유 할 수 있습니다. 안드로이드에서 Wifi 핫스팟을 성공적으로 만들었지 만 그 목적으로 구성 할 수는 없습니다. 코딩을 통해 안드로이드에서 Wifi 핫스팟을 구성 할 수있는 방법이 있습니까?android에서 Wi-Fi 핫스팟 구성 만들기

+0

... 내 응답을 확인하십시오. – gumuruh

답변

17

이 답변은 오래된 것일 수 있습니다!

if(wifiManager.isWifiEnabled()) 
{ 
    wifiManager.setWifiEnabled(false); 
} 

WifiConfiguration netConfig = new WifiConfiguration(); 

netConfig.SSID = "MyAP"; 
netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 
netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 

try{ 
    Method setWifiApMethod = wifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class); 
    boolean apstatus=(Boolean) setWifiApMethod.invoke(wifiManager, netConfig,true); 

    Method isWifiApEnabledmethod = wifiManager.getClass().getMethod("isWifiApEnabled"); 
    while(!(Boolean)isWifiApEnabledmethod.invoke(wifiManager)){}; 
    Method getWifiApStateMethod = wifiManager.getClass().getMethod("getWifiApState"); 
    int apstate=(Integer)getWifiApStateMethod.invoke(wifiManager); 
    Method getWifiApConfigurationMethod = wifiManager.getClass().getMethod("getWifiApConfiguration"); 
    netConfig=(WifiConfiguration)getWifiApConfigurationMethod.invoke(wifiManager); 
    Log.e("CLIENT", "\nSSID:"+netConfig.SSID+"\nPassword:"+netConfig.preSharedKey+"\n"); 

} catch (Exception e) { 
    Log.e(this.getClass().toString(), "", e); 
} 
+0

고마워요 .............. :) –

+0

이 Wifi HotSpot에 대한'setWifiApConfiguration'이 있습니까? 그래서 코드를 사용하여 사용자 정의 무선 랜 액세스 포인트에 연결할 수 있습니다. – zionpi

+0

위의 Android 6 및 5.1에서는 작동하지 않습니다. ACTION_MANAGE_WRITE_SETTINGS 권한을 추가했으나 여전히 소프트ap 시작 예외로 java.lang.IllegalStateException 예외가 발생했습니다 : '2707 softap set wlan0 ....' –