如何解决C# xamarin- 如何获取设备的 ip 地址
IPAddress[] LocalIp = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress iP in LocalIp)
{
if (iP.AddressFamily == AddressFamily.InterNetwork)
{
MachineIP = iP;
}
}
返回本地IP,但我需要知道设备在3G网络上的公共IP以及连接到wi-fi时的wi-fi。有人有什么建议吗?
解决方法
但我需要知道设备在 3G 网络上的公共 IP 以及连接到 wi-fi 时的 wi-fi。有人有什么建议吗?
如果您想在连接到 Wi-Fi 时获取设备的 IP 地址,您可以尝试以下代码:
首先在Form共享代码中定义接口。
public interface IPAddressManager
{
string GetIPAddress();
}
安卓平台连接wifi时获取ip地址。
[assembly: Dependency(typeof(GetAddressManager))]
namespace demo3.Droid
{
public class GetAddressManager : IPAddressManager
{
string ipAddress;
public string GetIPAddress()
{
WifiManager wifiMgr = (WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService);
WifiInfo wifiInfo = wifiMgr.ConnectionInfo;
int ip = wifiInfo.IpAddress;
ipAddress = Formatter.FormatIpAddress(ip);
return ipAddress;
}
}
}
使用 DependencyService 获取 IP 地址。
private void btn1_Clicked(object sender,EventArgs e)
{
string ip = DependencyService.Get<IPAddressManager>().GetIPAddress();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。