getIpAddress static method

Future<String> getIpAddress()

Implementation

static Future<String> getIpAddress() async {
  try {
    final ipv4 = await _networkInfo.getWifiIP();
    if (ipv4 != null) {
      doPrint('IP Address found (WiFi): $ipv4');
      return ipv4;
    }
    // Fallback: Check network interfaces
    for (var interface in await NetworkInterface.list()) {
      for (var addr in interface.addresses) {
        if (addr.type == InternetAddressType.IPv4 && !addr.isLoopback) {
          doPrint('IP Address found (Interface): ${addr.address}');
          return addr.address;
        }
      }
    }
    return '0.0.0.0';
  } catch (e) {
    doPrint('Error getting IP address $e');
    return '0.0.0.0';
  }
}