Android에서 Wi-Fi 상태를 확인하는 코드는 다음과 같습니다.
귀하의 프로그램이 어떤 오류를 보고하는지 모르겠습니다. 예를 들어 보겠습니다. 하지만 방법은 귀하의 것과 약간 다릅니다.
public class WifiAdmin {
/**WiFi 관리자**/
private WifiManager wifimanager;
/**WiFi 정보**/
private WifiInfo wifiinfo;
/**활동 네트워크 목록**/
private Listlt; ScanResultgt;
/**구성된 네트워크 목록**/
private Listlt ;WifiConfigurationgt; connectlist;
/**WiFi 잠금**/
private WifiLock wifilock;
public WifiAdmin(컨텍스트 컨텍스트) {
wifimanager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE)
}
/**
* WiFi 작동
p>* */
/**WiFi 열기**/
public void openWifi() {
if (!wifimanager.isWifiEnabled( )) {
wifimanager.setWifiEnabled(true);
}
}
/**WiFi 닫기**/ p>
public void closeWifi() {
if (wifimanager.isWifiEnabled()) {
wifimanager.setWifiEnabled(false)
}
}
/**WiFi 상태**/
public int checkState() {
return wifimanager.getWifiState();
}
/**
* WiFiLock 작동
* */
/**WiFiLock 생성* */ p>
public void creatWifiLock() {
wifilock = wifimanager.createWifiLock("Test");
}
/**WiFi 잠금**/
public void acquireWifiLock() {
wifilock.acquire();
}
/**WifiLock 지우기**/
public void releaseWifiLock() {
if (wifilock.isHeld()) {
wifilock.release();
}
}
/**
* WiFiInfo 작동
* */
/**WiFi정보 가져오기**/
public WifiInfo getWifiInfo(){
wifiinfo = wifimanager.getConnectionInfo();
wifiinfo 반환;
}
/**
* 네트워크 운영
* */
/**스캔**/
public void startScan() {
wifimanager.startScan();
netlist = wifimanager.getScanResults( );
Connectedlist = wifimanager.getConfiguredNetworks()
}
/**네트워크 구성 가져오기**/
public Listlt ;WifiConfigurationgt; getConfiguration() {
연결 목록 반환;
}
/**활동 네트워크 가져오기**/
공개 목록 ;ScanResultgt; getWifiList() {
return netlist;
}
/**NetWork 연결**/
public void connectConfiguration(int index) {
if (index lt; 0 || index gt; connectlist.size()) {
return
} p>
wifimanager.enableNetwork(connectedlist.get(index).networkId, true);
}
/**NetWork 추가**/
public void addNetwork(WifiConfiguration wcg) {
int wcgID = wifimanager.addNetwork(wcg);
wifimanager. 활성화Network(wcgID, true);
}
/**네트워크 연결 끊기**/
public void uninstallWifi(int netId) {
wifimanager.disableNetwork(netId);
wifimanager.disconnect()
}
}