I am using android 4.1.1 ... I am making an application that allows the user to make his own network using Wifi Hotspot and then the clients can connect to it and share data. I have successfully created the Wifi hotspot in android but I cannot configure it for the purpose. Is there any way to configure Wifi Hotspot on android through coding ??
Create Wifi Hotspot Configuration in android
Asked Answered
,... check out my response for you. –
Confounded
This answer maybe outdated!
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);
}
Is there any
setWifiApConfiguration
for this Wifi HotSpot so I can connect to custom wifi access point using code. –
Afflux Doesn't work on Android 6 and 5.1 above. I have added the ACTION_MANAGE_WRITE_SETTINGS permission but still getting error as
Exception in softap start java.lang.IllegalStateException: command '2707 softap set wlan0 ....
–
Ciccia @AkshayTaru No surprise! at the time I answered the latest version of android was 5.0 , I hope you can update the answer. –
Further
Here is a possible solution:
private WifiManager.LocalOnlyHotspotReservation mReservation;
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
wifiManager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback() {
@Override
public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
super.onStarted(reservation);
mReservation = reservation;
}
@Override
public void onStopped() {
super.onStopped();
}
@Override
public void onFailed(int reason) {
super.onFailed(reason);
}
}, new Handler());
While this code may answer the question, providing additional context regarding why and/or how this code answers the question improves its long-term value. –
Tonality
© 2022 - 2024 — McMap. All rights reserved.