首页 > 解决方案 > Android 10 不以编程方式连接到 WPA wifi

问题描述

为了以编程方式连接到 WPA wifi,我尝试使用下面的代码。

WifiNetworkSpecifier.Builder builder = new WifiNetworkSpecifier.Builder();
                        builder.setSsid(deviceSSID);
                        builder.setWpa2Passphrase(devicePass);
                        builder.setIsEnhancedOpen(false);


                        WifiNetworkSpecifier wifiNetworkSpecifier = builder.build();

                        NetworkRequest.Builder networkRequestBuilder = new NetworkRequest.Builder();
                        networkRequestBuilder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
                        networkRequestBuilder.setNetworkSpecifier(wifiNetworkSpecifier);

                        NetworkRequest networkRequest = networkRequestBuilder.build();
                        final ConnectivityManager cm = (ConnectivityManager) StartActivity.this.getSystemService(Context.CONNECTIVITY_SERVICE);
                        ConnectivityManager.NetworkCallback networkCallback;
                        networkCallback = new ConnectivityManager.NetworkCallback() {
                            @Override
                            public void onAvailable(@NonNull Network network) {

                                super.onAvailable(network);
                                cm.bindProcessToNetwork(network);
                                                                }
                        };
                        cm.requestNetwork(networkRequest, networkCallback);

对于 < 10 的 android 版本,我使用不推荐使用重新连接方法的 wifiManager。为什么我的代码不适用于 Android 10?

标签: androidwifi

解决方案


推荐阅读