【发布时间】:2020-05-13 10:50:52
【问题描述】:
我为 Android 9 编写了一个 Android 应用程序,它向用户显示可用 wifi 网络的列表并让用户连接到它们。连接到提供互联网连接的网络工作正常。但在大多数情况下,我必须连接到没有互联网连接的网络。对于我的项目,我必须在 linux 机器上创建自己的接入点/热点,因此希望我的应用能够连接到它。
如果我选择我创建的网络之一,我会重新连接到一个已知且已配置的 wifi,我的设备知道它提供互联网连接(例如我们的办公室 wifi)。
我已经详细了解了 stackoverflow,但大多数遇到此问题的人似乎都在使用 Android Marshmallow 或 Lollipop,实际上他们的设备在连接到移动数据时使用移动数据发送/接收数据非互联网wifi。
AFAIK Android 可能会拒绝不提供互联网访问的 wifi 网络。无论如何,我怎样才能告诉系统连接到它们?通过设置应用程序连接到这些网络工作正常。它只是在我的应用程序中不起作用。
到目前为止,这是我的连接代码:
private fun connectToSelectedNetwork(networkSSID: String){
try {
val conf = WifiConfiguration()
conf.SSID = "\"" + networkSSID + "\""
conf.preSharedKey = "\"" + PASSPHRASE + "\""
val network = wifiManager?.addNetwork(conf)
wifiManager?.disconnect()
wifiManager?.enableNetwork(network!!, true)
wifiManager?.reconnect()
} catch (ex: Exception) {
println(Arrays.toString(ex.stackTrace))
}
}
谢谢!
【问题讨论】:
标签: android connection wifi programmatically