I also came across a similar sporadic exception in my project. Take a look at the screenshot I attached. 
Here is a solution that worked for me, but I'm not sure if it will work for others.
This has been my code before:
Geolocator loc = new Geolocator(); try { loc.DesiredAccuracy = PositionAccuracy.High; Geoposition pos = await loc.GetGeopositionAsync(); var lat = pos.Coordinate.Point.Position.Latitude; var lang = pos.Coordinate.Point.Position.Longitude; Status = loc.LocationStatus; return GetGpsInfoObject(pos); } catch (System.UnauthorizedAccessException) { return null; }
I changed the code to:
Geolocator loc = new Geolocator(); try { loc.DesiredAccuracy = PositionAccuracy.High; Geoposition pos = await loc.GetGeopositionAsync(); var lat = pos.Coordinate.Point.Position.Latitude; var lang = pos.Coordinate.Point.Position.Longitude; Status = loc.LocationStatus; return GetGpsInfoObject(pos); } catch (Exception) { return null; }
source share