Xamarin Forms 获取设备 IP 地址
Xamarin Forms Get Device Ip address
我正在使用 Xamarin.Forms 跨平台应用程序。现在,我需要获取设备主 IP(我指的是静态 IP)。在 Xamarin.Forms 中获取设备 IPv4 地址的最简单方法是什么?
您可以使用using System.Net
下的Dns.GetHostAddresses
调用这个函数
var ip = GetLocalAddress();
获取本地地址:
private string GetLocalAddress()
{
var IpAddress = Dns.GetHostAddresses(Dns.GetHostName()).FirstOrDefault();
if (IpAddress != null)
return IpAddress.ToString();
return "Could not locate IP Address";
}
可以使用DependencyService获取Ip地址,下面的代码就是Android工程。其他平台可以看看:
class IPAddressManager : IIPAddressManager
{
public string GetIPAddress()
{
IPAddress[] addresses = Dns.GetHostAddresses(Dns.GetHostName());
if (addresses?[0] != null)
{
return addresses[0].ToString();
}
else
{
return null;
}
}
}
我正在使用 Xamarin.Forms 跨平台应用程序。现在,我需要获取设备主 IP(我指的是静态 IP)。在 Xamarin.Forms 中获取设备 IPv4 地址的最简单方法是什么?
您可以使用using System.Net
Dns.GetHostAddresses
调用这个函数
var ip = GetLocalAddress();
获取本地地址:
private string GetLocalAddress()
{
var IpAddress = Dns.GetHostAddresses(Dns.GetHostName()).FirstOrDefault();
if (IpAddress != null)
return IpAddress.ToString();
return "Could not locate IP Address";
}
可以使用DependencyService获取Ip地址,下面的代码就是Android工程。其他平台可以看看:
class IPAddressManager : IIPAddressManager
{
public string GetIPAddress()
{
IPAddress[] addresses = Dns.GetHostAddresses(Dns.GetHostName());
if (addresses?[0] != null)
{
return addresses[0].ToString();
}
else
{
return null;
}
}
}