Sub GetWifiInfo
Dim p As Phone, str As String
Dim WifiManager As JavaObject
Dim WifiInfo As JavaObject, WiFiDHCP As JavaObject, WiFiState As JavaObject
WifiManager = WifiManager.InitializeContext.RunMethod("getSystemService", Array("wifi"))
If p.SdkVersion >= 27 Then
Dim rp As RuntimePermissions
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
If Result = False Then Return
End If
WifiInfo = WifiManager.RunMethod("getConnectionInfo", Null)
Dim rawipaddress As Int = WifiInfo.RunMethod("getIpAddress",Null)
Log("WiFi status " & WifiInfo)
WiFiState = WifiManager.RunMethod("getWifiState", Null)
Log("WiFi status " & WiFiState)
WiFiDHCP = WifiManager.RunMethod("getDhcpInfo", Null)
Log("WiFi DHCP status " & WiFiDHCP)
Dim gateway As Int = WiFiDHCP.GetField("gateway")
Log("Gateway: " & i2ip(gateway))
End Sub
Sub i2ip(address As Int) As String
Dim jo As JavaObject
jo.InitializeContext
Return(jo.RunMethod("i2ip2", Array(address)))
End Sub
#if Java
public static String i2ip2(int ip) {
return(java.lang.String.format("%d.%d.%d.%d",(ip & 0xff),(ip >> 8 & 0xff), (ip >> 16 & 0xff),(ip >> 24 & 0xff)));
}
#end if