getPhoneSystemIpMap static method

Future<Map<String, String>?> getPhoneSystemIpMap()

获取手机设备自身的ip地址

Implementation

static Future<Map<String, String>?> getPhoneSystemIpMap() async {
  List<NetworkInterface> interfaces = await NetworkInterface.list(
    includeLoopback: false,
    type: InternetAddressType.any,
  );

  String? systemIp;
  for (NetworkInterface interface in interfaces) {
    if (interface.name == 'en0') {
      for (InternetAddress address in interface.addresses) {
        systemIp = address.address;
        break;
      }
      break;
    }
  }

  if (systemIp != null) {
    return {"name": 'en0', "value": systemIp};
  }

  for (NetworkInterface interface in interfaces) {
    if (interface.name == 'wlan0') {
      for (InternetAddress address in interface.addresses) {
        systemIp = address.address;
        break;
      }
      break;
    }
  }
  if (systemIp != null) {
    return {"name": 'wlan0', "value": systemIp};
  }

  return null;
}