Xamarin Forms Получить IP-адрес устройства - PullRequest
0 голосов
/ 23 марта 2019

Я работаю с кроссплатформенным приложением Xamarin.Forms.Теперь мне нужно получить домашний Ip устройства (я имею в виду статический).Какой самый простой способ получить IPv4-адрес устройства в Xamarin.Forms?

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Вы можете использовать DependencyService, чтобы получить IP-адрес, тогда следующий код - проект Android.Для других платформ вы можете посмотреть:

class IPAddressManager : IIPAddressManager
{
    public string GetIPAddress()
    {
        IPAddress[] adresses = Dns.GetHostAddresses(Dns.GetHostName());

        if (adresses !=null && adresses[0] != null)
        {
            return adresses[0].ToString();
        }
        else
        {
            return null;
        }
    }
}

https://theconfuzedsourcecode.wordpress.com/2015/05/16/how-to-easily-get-device-ip-address-in-xamarin-forms-using-dependencyservice/

0 голосов
/ 23 марта 2019

Вы можете использовать Dns.GetHostAddresses под using System.Net

Вызовите эту функцию

var ip = GetLocalAddress();

GetLocalAddress:

private string GetLocalAddress()
{
    var IpAddress = Dns.GetHostAddresses(Dns.GetHostName()).FirstOrDefault();

    if (IpAddress != null)
        return IpAddress.ToString();

    return "Could not locate IP Address";
}
...