以编程方式将android设备连接到wifi

问题描述 投票:0回答:1

我需要以编程方式将平板电脑连接到wifi。我尝试了至少20种不同的代码,但没有任何效果。

我拥有所有权限:

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">

这是代码:

  WifiConfiguration wifiConfig = new WifiConfiguration();
    wifiConfig.SSID = String.format("\"%s\"", "ssis");
    wifiConfig.preSharedKey = String.format("\"%s\"", "password");


    wifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);

    WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(WIFI_SERVICE);

    int netId = wifiManager.addNetwork(wifiConfig);
    wifiManager.disconnect();
    wifiManager.enableNetwork(netId, true);
    wifiManager.reconnect();

我使用的wifi协议是WPA / WPA2

soemone是否具有有效的代码?

android wifi connect android-wifi wpa
1个回答
0
投票

通过WifiManager添加网络时,您可以获得网络ID。

因此,完整,简化的解决方案将如下所示:

WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = String.format("\"%s\"", ssid);
wifiConfig.preSharedKey = String.format("\"%s\"", key);

WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE);
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
wifiManager.reconnect();

可以参考以获取更多详细信息-How do I connect to a specific Wi-Fi network in Android programmatically?

© www.soinside.com 2019 - 2024. All rights reserved.