繁体   English   中英

Android 不正确地忘记无线网络

[英]Android improperly forgets wireless networks

我编写了一个应用程序,可以轻松地将 Android 设备连接到我们公司的各种无线网络。 它旨在运行一次,当设备开箱并使用我们应用程序套件的 rest 进行设置时。

问题是有时,设备会在没有被告知这样做的情况下忘记网络。 不幸的是,我无法重现这一点。 我希望我错过了一些 API 呼叫,这里的 Android 专家可以帮助我找到。

以下代码来自我的一次性无线初始化应用程序,其中网络名称和密钥已更改。 谁能看到我在这里做错了什么?

编辑:我观察到这种行为的设备是 LG Ally。 我希望这是我自己的代码的错误,所以这就是我开始的地方。

@Override
public void onCreate(Bundle savedInstanceState)
{
    WifiConfiguration n1Config = new WifiConfiguration();
    n1Config.SSID = "\"networkOne\"";
    n1Config.preSharedKey = "\"...\"";
    n1Config.status = WifiConfiguration.Status.ENABLED;

    WifiConfiguration n2Config = new WifiConfiguration();
    n2Config.SSID = "\"networkTwo\"";
    n2Config.hiddenSSID = true;
    n2Config.wepKeys[0] = "...";
    n2Config.wepTxKeyIndex = 0;
    n2Config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    n2Config.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
    n2Config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
    n2Config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
    n2Config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
    n2Config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
    n2Config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
    n2Config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
    n2Config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
    n2Config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    n2Config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    n2Config.status = WifiConfiguration.Status.ENABLED;

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

    int n1ID = wifiManager.addNetwork(n1Config);
    wifiManager.enableNetwork(n1ID, false);

    int n2ID = wifiManager.addNetwork(n2Config);
    wifiManager.enableNetwork(n2ID, false);
}

我相信你需要调用 wifi.saveConfiguration(); 在将两个配置都添加到 WifiManager 之后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM