【发布时间】:2019-08-14 05:44:28
【问题描述】:
我正在使用 Xamarin.Forms 跨平台应用程序。现在,我需要获取设备的家庭 IP(我的意思是静态的)。在 Xamarin.Forms 中获取设备 IPv4 地址的最简单方法是什么?
【问题讨论】:
标签: xamarin.forms ip
我正在使用 Xamarin.Forms 跨平台应用程序。现在,我需要获取设备的家庭 IP(我的意思是静态的)。在 Xamarin.Forms 中获取设备 IPv4 地址的最简单方法是什么?
【问题讨论】:
标签: xamarin.forms ip
您可以使用Dns.GetHostAddresses 下的using System.Net
调用此函数
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;
}
}
}
【讨论】: