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-tw/n/295570.html