Windows phone 8 地理定位器Windows Phone出错
任何人都知道为什么我的代码在我向应用商店提交应用程序时总是出错。一切都在dev设备上运行良好。应用功能:位置、地图、身份设备、身份用户、摄像头、音频、照片、网络、接近、推送通知、传感器Windows phone 8 地理定位器Windows Phone出错,windows-phone-8,Windows Phone 8,任何人都知道为什么我的代码在我向应用商店提交应用程序时总是出错。一切都在dev设备上运行良好。应用功能:位置、地图、身份设备、身份用户、摄像头、音频、照片、网络、接近、推送通知、传感器 private readonly Geolocator _geolocator = new Geolocator { DesiredAccuracy = PositionAccuracy.Default, MovementThreshold = 100 }; private async Task GetCurr
private readonly Geolocator _geolocator = new Geolocator { DesiredAccuracy = PositionAccuracy.Default, MovementThreshold = 100 };
private async Task GetCurrentPosition()
{
//Get current location
try
{
_done.WaitOne();
var position = await _geolocator.GetGeopositionAsync();
if (position != null)
{
// Get detail address
var query = new ReverseGeocodeQuery { GeoCoordinate = new GeoCoordinate(position.Coordinate.Latitude, position.Coordinate.Longitude) };
query.QueryCompleted += OnQueryCompleted;
_done.Reset();
query.QueryAsync();
}
}
catch (Exception ex)
{
if (ex.Message.Contains("Operation aborted"))
{
if (MessageBox.Show(AppResources.LocationServiceErrorMsg, AppResources.ApplicationTitle, MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-location:"));
Application.Current.Terminate();
}
else
{
Application.Current.Terminate();
}
}
}
}
private void OnQueryCompleted(object sender, QueryCompletedEventArgs<System.Collections.Generic.IList<MapLocation>> e)
{
_done.Set();
if (e.Result != null && e.Result.Count > 0)
{
App.AppData.CurrentCountry = e.Result[0].Information.Address.Country;
App.AppData.CurrentCity = e.Result[0].Information.Address.City;
App.AppData.CurrentStreet = e.Result[0].Information.Address.Street;
App.CurrentPosition = e.Result[0].GeoCoordinate;
Helper.SaveAppSetting(App.AppData);
if (string.IsNullOrEmpty(App.AppData.UserId))
{
NavigationService.Navigate(MessageBox.Show(AppResources.UserIdEmptyMsg, AppResources.ApplicationTitle, MessageBoxButton.OKCancel) == MessageBoxResult.OK
? new Uri("/Views/SettingPage.xaml?navCode=userId", UriKind.Relative)
: new Uri("/Views/MainPage.xaml", UriKind.Relative));
}
else
{
NavigationService.Navigate(new Uri("/Views/MainPage.xaml", UriKind.Relative));
}
}
}
private readonly geological\u geological=new geological{DesiredAccuracy=PositionAccuracy.Default,MovementThreshold=100};
专用异步任务GetCurrentPosition()
{
//获取当前位置
尝试
{
_完成。WaitOne();
var position=wait_geological.GetGeopositionAsync();
如果(位置!=null)
{
//获取详细地址
var query=new ReverseGeocodeQuery{geocordinate=new geocordinate(position.Coordinate.Latitude,position.Coordinate.Longitude)};
query.QueryCompleted+=OnQueryCompleted;
_完成。重置();
query.QueryAsync();
}
}
捕获(例外情况除外)
{
如果(例如消息包含(“操作中止”))
{
if(MessageBox.Show(AppResources.LocationServiceErrorMsg、AppResources.ApplicationTitle、MessageBoxButton.OKCancel)=MessageBoxResult.OK)
{
Windows.System.Launcher.launchurisync(新Uri(“ms设置位置”);
Application.Current.Terminate();
}
其他的
{
Application.Current.Terminate();
}
}
}
}
QueryCompleted上的私有void(对象发送方,QueryCompletedEventArgs e)
{
_完成。Set();
如果(e.Result!=null&&e.Result.Count>0)
{
App.AppData.CurrentCountry=e.Result[0]。Information.Address.Country;
App.AppData.CurrentCity=e.Result[0]。Information.Address.City;
App.AppData.CurrentStreet=e.Result[0]。Information.Address.Street;
App.CurrentPosition=e.Result[0]。地理坐标;
Helper.SaveAppSetting(App.AppData);
if(string.IsNullOrEmpty(App.AppData.UserId))
{
NavigationService.Navigate(MessageBox.Show(AppResources.UserIdEmptyMsg、AppResources.ApplicationTitle、MessageBoxButton.OK取消)=MessageBoxResult.OK
新Uri(“/Views/SettingPage.xaml?navCode=userId”,UriKind.Relative)
:新Uri(“/Views/MainPage.xaml”,UriKind.Relative));
}
其他的
{
NavigationService.Navigate(新Uri(“/Views/MainPage.xaml”,UriKind.Relative));
}
}
}
如果您能提供测试报告中给出的信息,那么我们可能会提供更好的帮助,尽管他们的文档通常是不言自明的
文档中有认证要求,第2.7节介绍了与使用location的应用程序相关的认证要求。提供一些有关错误的信息。