我有一部启用了3G / 4G的电话,静态IP,并启动了WebSocket服务器(使用org.java-websocket:Java-WebSocket:1.4.0
)。
我还需要以编程方式在此设备上启用WiFi热点。
但是,当某些设备(WebSocket客户端)连接到该WebSocket服务器时,奇怪地启用WiFi热点不起作用。 WifiManager.startLocalOnlyHotspot
启用了Hotspot,但一秒钟后它会自动禁用。
但是,当没有活动的WebSocket客户端时,以编程方式启用WiFi Hotspot效果很好。
我不知道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()
}
}