2013-06-17 3 views
8

Я использую android 4.1.1 ... Я делаю приложение, которое позволяет пользователю создавать свою собственную сеть с использованием Wifi Hotspot, а затем клиенты могут подключаться к ней и обмениваться данными. Я успешно создал точку доступа Wi-Fi в android, но я не могу настроить ее для этой цели. Есть ли способ настроить Wifi Hotspot на андроид через кодирование?Создать конфигурацию Wifi Hotspot в android

+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

Есть ли 'setWifiApConfiguration' для этого Wifi HotSpot, поэтому я могу подключиться к пользовательской точке доступа Wi-Fi, используя код. – zionpi

+0

Не работает на Android 6 и 5.1 выше. Я добавил разрешение ACTION_MANAGE_WRITE_SETTINGS, но все еще получаю ошибку как «Исключение в запуске softap java.lang.IllegalStateException: command» 2707 softap set wlan0 .... ' –

Смежные вопросы