如何连接到在 Android Q 中没有互联网连接的 WIFI SSID

问题描述

我正在使用 elow 代码连接到 wifi。如果选定的 ssid 具有互联网连接,则此方法有效,但如果 ssid 没有互联网连接,则无效

private void connectToNetwork(String ssid,String password) {

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {

        WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
                .setSsid(ssid)
                .setWpa2Passphrase(password)
                .build();

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

        ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
        ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {

            public void onAvailable(Network network) {
                connectivityManager.bindProcesstoNetwork(network);
               InstallerLog.d(TAG,"onAvailable");
            }
        };
        connectivityManager.requestNetwork(request,networkCallback);
    }
}

解决方法

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

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

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