Skip to content

WiFi API

Control WiFi adapter and get connection information.

Adapter Control

checkWifiState()

Check if WiFi is enabled.

checkWifiState()

Returns: True if WiFi is enabled, False otherwise

toggleWifiState()

Turn WiFi on or off.

toggleWifiState(enabled=None)

Parameters: - enabled (bool): True to enable, False to disable, None to toggle

Returns: True if operation succeeded

wifiStartScan()

Start scanning for available WiFi networks.

wifiStartScan()

wifiGetScanResults()

Get list of discovered WiFi networks.

wifiGetScanResults()

Returns: List of access point information

Connection Management

wifiGetConnectionInfo()

Get detailed connection information.

wifiGetConnectionInfo()

Returns: Dict with connection details including SSID, BSSID, IP address

getConnectedInfo()

Get connected WiFi network info (simplified).

getConnectedInfo()

Returns: Dict with SSID, BSSID, signal strength

getDhcpInfo()

Get DHCP information for current connection.

getDhcpInfo(ipConvertToString=True)

Parameters: - ipConvertToString (bool): Convert IP addresses to string format (default: True)

Returns: Dict with DHCP info including IP, gateway, DNS

wifiDisconnect()

Disconnect from current WiFi network.

wifiDisconnect()

wifiReconnect()

Reconnect to the current network.

wifiReconnect()

wifiReassociate()

Reassociate with the current access point.

wifiReassociate()

Hotspot

wifiGetApState()

Get WiFi AP (hotspot) state.

wifiGetApState()

Returns: Hotspot state

WiFi Locks

wifiLockAcquireFull()

Acquire a full WiFi lock (keeps WiFi active even when screen is off).

wifiLockAcquireFull()

wifiLockAcquireScanOnly()

Acquire a scan-only WiFi lock.

wifiLockAcquireScanOnly()

wifiLockRelease()

Release the WiFi lock.

wifiLockRelease()

Usage Example

```python import androidhelper import time

droid = androidhelper.Android()

Check WiFi state

if droid.checkWifiState().result: print("WiFi is enabled") else: print("Enabling WiFi...") droid.toggleWifiState(True) time.sleep(2)

Start scanning

droid.wifiStartScan() time.sleep(3)

Get scan results

networks = droid.wifiGetScanResults().result for network in networks: print(f"SSID: {network.get('SSID')}, Signal: {network.get('level')} dBm")

Get connection info

info = droid.wifiGetConnectionInfo().result if info: print(f"Connected to: {info.get('ssid')}") print(f"BSSID: {info.get('bssid')}") print(f"IP: {info.get('ip_address')}")

Get DHCP info

dhcp = droid.getDhcpInfo().result if dhcp: print(f"Gateway: {dhcp.get('gateway')}") print(f"DNS: {dhcp.get('dns1')}")

Acquire WiFi lock for background operation

droid.wifiLockAcquireFull()

... do work ...

droid.wifiLockRelease()