The method : Get the user's location works for me (Windows 10, VS 2019)
(test in a Winforms app, without "location capability", I get GeolocationAccessStatus.Allowed and the right location
with Geoposition pos = await geolocator.GetGeopositionAsync();)
Determine User Location

Jassim Al Rahma
1,166
Reputation points
Hi,
ia m trying to determine the user location so that. can redirect to the store page based on his location (which is the country or state)
I know it can be done with Xamarin Essentials but what if he did not grant the access?
i though of getting the location from his IP.
I tried below code:
private string GetLocalAddress()
{
var host = Dns.GetHostEntry(Dns.GetHostName());
foreach (var ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
return ip.ToString();
}
}
throw new Exception("Local IP Address Not Found!");
}
but getting:
System.Net.Sockets.SocketException: Could not resolve host 'iPhone'
Kindly advise..
{count} votes
1 answer
Sort by: Most helpful
-
Castorix31 69,176 Reputation points
2021-07-15T13:25:37.627+00:00
I am testing on iPhone (data) and (WiFi)
Hi, JassimAlRahma-9056. I tested the code in a basic sample, it works fine. There is not exception occured. You can create a specialized storage category for some users who don't want to provide location permissions. To protect user privacy, apps that use location services must request location permissions. We should not try to get the location without granting the permission.