У меня есть телефон с включенным 3G / 4G, статическим IP-адресом и запуском сервера WebSocket (используется org.java-websocket:Java-WebSocket:1.4.0
).
Мне также необходимо программно включить точку доступа WiFi на этом устройстве.
Но странное включение WiFi Hotspot не работает, когда какое-либо устройство (клиент WebSocket) подключено к этому серверу WebSocket.WifiManager.startLocalOnlyHotspot
включает Hotspot, но через секунду автоматически отключается.
Но включение WiFi Hotspot программно работает нормально, когда нет активного клиента WebSocket.
Понятия не имею, что происходит с сетью на Androidэто так странно
fun turnOnHotspot() {
Log.i(TAG, "wifiManager turnOnHotspot")
try {
wifiManager.startLocalOnlyHotspot(object : WifiManager.LocalOnlyHotspotCallback() {
override fun onStarted(reservation: WifiManager.LocalOnlyHotspotReservation) {
super.onStarted(reservation)
Log.d(TAG, "wifiManager onStarted ${reservation.wifiConfiguration}")
}
override fun onStopped() {
super.onStopped()
Log.d(TAG, "wifiManager onStopped")
}
override fun onFailed(reason: Int) {
super.onFailed(reason)
Log.d(TAG, "wifiManager onFailed: $reason")
}
}, App.handler)
} catch (e: IllegalStateException) {
e.printStackTrace()
}
}