小编YYJ*_*YJo的帖子

在没有Internet连接的情况下使用WiFi

在我的应用中,我正在连接到具有自己的WiFi网络的设备。在android 6及更高版本中,即使没有互联网连接,系统也会在几秒钟后询问我是否要连接至该网络。只有批准该消息后,我才能连接到我的设备。我尝试以编程方式连接到网络,而不是强迫用户每次都手动进行设置并进行连接。我使用以下代码连接到设备网络:

private void connectToWiFi(WifiManager wifiManager, String wifiName) {

    WifiConfiguration configuration = new WifiConfiguration();
    configuration.SSID = "\"" + wifiName + "\"";
    configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    wifiManager.addNetwork(configuration);
    List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
    for (WifiConfiguration i : list) {
        if (i.SSID != null && i.SSID.equals("\"" + wifiName + "\"")) {
            wifiManager.disconnect();
            wifiManager.enableNetwork(i.networkId, true);
            wifiManager.reconnect();
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并尝试强制该应用使用WiFi连接,而不是我正在使用的蜂窝数据:

NetworkRequest.Builder builder;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        builder = new NetworkRequest.Builder();
        builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);

        connectivityManager.requestNetwork(builder.build(), new ConnectivityManager.NetworkCallback() {
            @Override
            public void onAvailable(Network network) {
                String ssid = wifiManager.getConnectionInfo().getSSID();
                if …
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
2
解决办法
5196
查看次数

标签 统计

android ×1