Android Q-使用WifiNetworkSpecifier.builder()连接到WEP网络

时间:2019-06-29 14:30:27

标签: java android kotlin androidq

我正在尝试使用最新的Android Q Beta 4连接到WEP网络。

交流的旧风格很简单。使用类似的东西:

WifiConfiguration connection = createApConfiguration(ssid, password, "WEP");
int res = wifiManager.addNetwork(connection);

但是,在Q版本中已弃用该功能。 https://developer.android.com/reference/android/net/wifi/WifiManager.html#addNetwork(android.net.wifi.WifiConfiguration)

我需要连接到“ WEP”网络,但看不到任何设置这种配置的选项。最新的API im usnig如下。

val specifier = WifiNetworkSpecifier.Builder()
.setSsid("NetworkID")
.setIsHiddenSsid(false)
.setIsEnhancedOpen(false)
.setBssidPattern(MacAddress.fromString("10:03:23:00:00:00"), MacAddress.fromString("ff:ff:ff:00:00:00"))
.build()

val request = NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.setNetworkSpecifier(specifier)
.build()

val connectivityManager = this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

val networkCallback = object : ConnectivityManager.NetworkCallback() {

override fun onAvailable(network: Network?) {
Log.d("AVAILABLE", "onAvailable")
}

override fun onUnavailable() {
Log.d("UNAVAILABLE", "onUnavailable")
}}

connectivityManager.requestNetwork(request, networkCallback)

Android Q Beta 5允许我在主设置屏幕上选择WEP类型,所以我不明白为什么API也不提供该选项?

0 个答案:

没有答案