gpt4 book ai didi

c# - 位置服务关闭时,Windows 8 手机应用程序在打开时崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:49 24 4
gpt4 key购买 nike

我有一个天气应用程序,它获取用户的经纬度位置,然后使用 API 返回结果。关闭位置服务后,应用程序会在打开时崩溃,并且不会提供错误帮助以查看错误位置。有没有办法写一个 if 语句来查看位置服务是否是一个?我应该怎么做才能避免这个问题?

代码如下:

 async private void GetLocation()
{
var geolocator = new Geolocator();
if (geolocator.LocationStatus == PositionStatus.Disabled)
{
//MessageBox.Show("We need your current location for the app to function properly, please set location services on in settings");
MessageBoxResult mRes = MessageBox.Show("We need your current location for the app to function properly, please set location services on in settings", "I understand", MessageBoxButton.OKCancel);
if (mRes == MessageBoxResult.OK)
{
Application.Current.Terminate();
}
if (mRes == MessageBoxResult.Cancel)
{
Application.Current.Terminate();
}
}

Geoposition position = await geolocator.GetGeopositionAsync();
Geocoordinate coordinate = position.Coordinate;
latitude = Convert.ToString(Math.Round(coordinate.Latitude, 2));
longitude = Convert.ToString(Math.Round(coordinate.Longitude, 2));

URL = "http://api.openweathermap.org/data/2.5/weather?lat=" + latitude + "&lon=" + longitude + "&units=metric";

Client(URL);
}

public void Client(string uri)
{
var clientToken = new WebClient();
clientToken.OpenReadCompleted += clientToken_OpenReadCompleted;
clientToken.OpenReadAsync(new Uri(uri));
}

感谢您的帮助:)

最佳答案

要确定错误发生的位置,请检查 Microsoft 从您的 Windows 开发中心记录的错误堆栈跟踪 - https://dev.windowsphone.com/en-US/CrashReport (图表上方的“导出过去 30 天的顶级堆栈跟踪”链接)。

堆栈跟踪显示可能会有延迟。 BugSense是一个非常有用的工具,它会给你很好的错误报告来帮助调试。只需一行代码即可在您的应用中启动并运行以捕获未处理的异常。

使用 BugSense,您还可以添加添加到错误报告中的“面包屑”。然后,您可以从位置检查自己打开的服务并添加此信息以帮助您从异常堆栈跟踪中找出问题。

关于c# - 位置服务关闭时,Windows 8 手机应用程序在打开时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24649023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com