Android 10自动连接到wifi,无法访问网络

时间:2020-04-25 06:44:31

标签: connection android-wifi android-10.0

当我在android 10上的应用程序中自动连接了指定的wifi时,wifi可以正常连接。

但是无法访问网络,也不能访问LAN。

@RequiresApi(api = Build.VERSION_CODES.Q)
public void connectAboveQ(String ssid, String bssid, String password) {
    NetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
            .setSsidPattern(new PatternMatcher(ssid, PatternMatcher.PATTERN_PREFIX))
            .setBssid(MacAddress.fromString(bssid))
            .setWpa2Passphrase(password)
            .build();
    NetworkRequest request = new NetworkRequest.Builder()
            .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
            .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
            .setNetworkSpecifier(specifier)
            .build();

    ConnectivityManager connectivityManager =
            (ConnectivityManager) mContext.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
    ConnectivityManager.NetworkCallback networkCallback =
            new ConnectivityManager.NetworkCallback() {
                @Override
                public void onAvailable(@NonNull Network network) {
                    super.onAvailable(network);
                    Log.d(TAG, "onAvailable: connect success");
                }

                @Override
                public void onUnavailable() {
                    super.onUnavailable();
                    Log.d(TAG, "onUnavailable: connect failed");
                }
            };
    if (connectivityManager != null) {
        connectivityManager.requestNetwork(request, networkCallback);
    }
}

0 个答案:

没有答案