首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

避免 Android 重複建立 WiFi 設定檔:檢查現有配置後再新增

     編輯:程式設計綜合問答

每次呼叫 WifiManager.addNetwork() 都會建立新設定檔,導致同一 SSID 出現多筆重複記錄。解決方式是先查詢現有設定,若已存在則直接使用。

檢查並複用現有配置

public WifiConfiguration checkPreviousConfiguration(WifiConfiguration wc) {
    List configs = wifiManager.getConfiguredNetworks();
    for (WifiConfiguration config : configs) {
        if (config.SSID != null && config.SSID.equals(wc.SSID)) {
            return config; // 找到相同 SSID,回傳現有配置
        }
    }
    return wc; // 不存在,回傳新建配置
}

// 使用時
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"MyNetwork\"";
// ... 設定其他參數 ...
int netId = wifiManager.addNetwork(checkPreviousConfiguration(wc));
wifiManager.enableNetwork(netId, true);

關鍵點

  • getConfiguredNetworks() 回傳已儲存的所有 WiFi 設定檔。
  • 比對 SSID 時需注意雙引號包裹(如 "MyNetwork")。
  • 若找到現有配置,直接使用其 networkId 啟用,避免重複插入。

此技巧適用於自動連線熱點、企業級 WiFi 部署等場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved