In my Android application I'm using the following code snippet:
@RequiresApi(api = Build.VERSION_CODES.O)
private void turnOnHotspot(){
WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
manager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback(){
@Override
public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
super.onStarted(reservation);
Log.d(TAG, "Wifi Hotspot is on now");
}
@Override
public void onStopped() {
super.onStopped();
Log.d(TAG, "onStopped: ");
}
@Override
public void onFailed(int reason) {
super.onFailed(reason);
Log.d(TAG, "onFailed: ");
}
},new Handler());
}
This piece of code creates a hotspot named something like "AndroidShare_1234". For a project of mine I need to be able to set a password and SSID to this hotspot. However, I can't find a way to do this.
Note that the setWifiApEnabled
is not supported anymore in Android O. This is how it's done in older versions of Android. However, I still need to programmatically make a Wi-Fi hotspot with an SSID and a password. I can't figure out how to do this. Thanks in advance!
For who cares...:
For a school project I made a locker that unlocks whenever it can connect to a wireless network with certain credentials hence the need of setting a hotspot programmatically.
startLocalOnlyHotspot
, the hotspot may be shared between several apps. This indicates that modifying the SSID is unlikely to be officially supported. – Sciatica