我想重新连接到Android Q上最后连接的AP自动重新连接

问题描述

使用WifiNetworkSpecifier更改wifi网络效果很好。但是在调用断开连接方法后,我想重新连接到Android Q上最后连接的AP,但是我不知道。 基本上,断开连接后通常会重新连接到最后连接的AP,但有时它会连接到其他现有网络。 我可以不使用WifiNetworkSpecifier或WifiNetworkSuggestion 100%连接到最后连接的AP吗?

(当然,自动重新连接由OS负责,所以我想这是不可能的。对吗?尽管如此,有办法吗?)

private static boolean connectAndroidQ(@Nullable ConnectivityManager connectivityManager,@NonNull ScanResult scanResult,@NonNull String password) {
    WifiNetworkSpecifier.Builder wifiNetworkSpecifierBuilder = new WifiNetworkSpecifier.Builder()
            .setSsid(scanResult.SSID)
            .setBssid(MacAddress.fromString(scanResult.BSSID));

    NetworkRequest networkRequest = new NetworkRequest.Builder()
            .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
            .setNetworkSpecifier(wifiNetworkSpecifierBuilder.build())
            .build();

    connectivityManager.unregisterNetworkCallback(networkCallback);

    networkCallback = new ConnectivityManager.NetworkCallback() {
        @Override
        public void onAvailable(@NonNull Network network) {
            super.onAvailable(network);
            connectivityManager.bindProcessToNetwork(network);
        }

        @Override
        public void onUnavailable() {
            super.onUnavailable();
        }
    };
    connectivityManager.requestNetwork(networkRequest,networkCallback);
    return true;
}


private static boolean disconnectAndroidQ(@NonNull final ConnectivityManager connectivityManager) {
    if (networkCallback != null) {
        connectivityManager.unregisterNetworkCallback(networkCallback);
        networkCallback = null;
    }

    return true;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...