Android設備默認支持WiFi,可以通過自動或手動方法連接WiFi網絡。
一、搜索周圍的WiFi網絡
如果希望連接一個WiFi網絡,首先需要檢測周圍的WiFi網絡,代碼如下所示:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifiManager.startScan(); List wifiScanList = wifiManager.getScanResults();
通過使用startScan()方法來觸發WiFi管理器掃描可用網絡。獲取可用網絡列表的方法是getScanResults(),它將返回一個列表,其中包含了發現的網絡信息和屬性。
二、獲取已經連接的網絡
可以使用getConnectionInfo()方法查找當前連接到的WiFi網絡的詳細信息,並查看當前網絡信號強度,代碼如下所示:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int signalStrength = wifiInfo.getRssi(); String ssid = wifiInfo.getSSID(); String bssid = wifiInfo.getBSSID();
信號強度是以dBm為單位的負值,數值越大,表明信號越強。
三、連接到WiFi網絡
可以使用以下代碼連接到特定的WiFi網絡:
WifiConfiguration wifiConfig = new WifiConfiguration(); wifiConfig.SSID = String.format("\"%s\"", networkSSID); wifiConfig.preSharedKey = String.format("\"%s\"", networkPass); WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); int networkId = wifiManager.addNetwork(wifiConfig); wifiManager.disconnect(); wifiManager.enableNetwork(networkId, true); wifiManager.reconnect();
可以使用addNetwork()方法將WiFi網絡添加到系統中,然後使用enableNetwork()方法連接到該網絡。
四、斷開WiFi網絡連接
可以使用以下代碼斷開當前WiFi網絡連接:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifiManager.disconnect();
五、獲取WiFi連接狀態
代碼示例如下:
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (wifiInfo.isConnected()) { // WiFi網絡已連接 }
可以通過ConnectivityManager獲取當前的網絡連接狀態,並使用getNetworkInfo()方法查找WiFi網絡的連接狀態。如果當前連接到了WiFi網絡,則網絡連接狀態會顯示為已連接。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295570.html