一、開啟Wifi
在Android系統中連接Wifi,首先需要確保手機的Wifi功能已開啟:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); if (!wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true); }
以上代碼使用WifiManager類獲取Wifi服務,然後檢查Wifi是否開啟,如果沒有開啟則打開Wifi功能。
二、掃描可用Wifi列表
掃描可用Wifi列表可以讓用戶選擇需要連接的Wifi網路。使用以下代碼獲取可用Wifi列表:
List scanResults = wifiManager.getScanResults();
獲取後得到的ScanResult列表中包含了所有可用的Wifi網路。
三、連接Wifi
選擇需要連接的Wifi網路後,使用以下代碼連接Wifi:
WifiConfiguration wifiConfig = new WifiConfiguration(); wifiConfig.SSID = String.format("\"%s\"", wifiSSID); wifiConfig.preSharedKey = String.format("\"%s\"", wifiPassword); int networkId = wifiManager.addNetwork(wifiConfig); wifiManager.disconnect(); wifiManager.enableNetwork(networkId, true); wifiManager.reconnect();
以上代碼中的ssid和password分別為需要連接的Wifi網路的名稱和密碼。首先使用WifiConfiguration類創建一個Wifi配置對象,然後將ssid和password設置為需要連接的Wifi網路的名稱和密碼。接著,使用WifiManager的addNetwork()方法添加這個配置,得到一個該Wifi網路的網路ID。然後,需要先將當前連接的Wifi網路斷開,執行enableNetwork()方法連接該Wifi網路,最後使用reconnect()方法重新連接該網路。
四、斷開Wifi連接
當需要斷開連接時,使用以下代碼即可斷開當前連接的Wifi網路:
wifiManager.disconnect();
五、許可權
在使用Wifi的相關功能時,需要在AndroidManifest.xml中添加如下許可權:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
其中,ACCESS_WIFI_STATE和CHANGE_WIFI_STATE許可權用於檢查Wifi狀態和更改Wifi狀態,ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION許可權用於獲取Wifi列表。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159837.html