【问题标题】:Connect android device to wifi programmatically以编程方式将android设备连接到wifi
【发布时间】:2020-07-23 00:41:07
【问题描述】:

我需要以编程方式将我的平板电脑连接到 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】:

试试这个代码,这将适用于除 android 10 之外的所有设备。 检查这个https://issuetracker.google.com/issues/128554616

WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = String.format("\"%s\"", networkSSID);
wifiConfig.preSharedKey = String.format("\"%s\"", networkPass);
wifiManager = (WifiManager)                         
getActivity().getApplicationContext().getSystemService(WIFI_SERVICE);
if(!wifiManager.isWifiEnabled())
wifiManager.setWifiEnabled(true);
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
wifiManager.reconnect();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    相关资源
    最近更新 更多