gpt4 book ai didi

c# - 应用程序在 Windows 10 中处于后台时的位置跟踪?

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

我是 Windows 10 的新手,目前正在开发基于位置的应用程序。我的要求是在特定时间间隔内跟踪用户位置,并每 10 分钟向服务器发送一次数据。有人可以建议这在 Windows 10 中是否可行?我不知道这一点。

更新

我也想在应用程序也处于后台时执行上述操作。我尝试了以下代码

 protected override async void OnNavigatedTo(NavigationEventArgs e)
{
if (e.NavigationMode == NavigationMode.New)
{
var extendedSession = new ExtendedExecutionSession();
extendedSession.Reason = ExtendedExecutionReason.LocationTracking;
extendedSession.Description = "Location tracking";

ExtendedExecutionResult result = await extendedSession.RequestExtensionAsync();
if (result == ExtendedExecutionResult.Allowed)
{
Debug.WriteLine("Background execution approved");
}
else
{
Debug.WriteLine("Background execution denied");
}

Geolocator locator = new Geolocator();
locator.DesiredAccuracyInMeters = 0;
locator.MovementThreshold = 500;
locator.DesiredAccuracy = PositionAccuracy.High;
locator.PositionChanged += Locator_PositionChanged;
}
}

private void Locator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
{
Debug.WriteLine(args.Position.Coordinate.Latitude.ToString("0.00000000") + " " + args.Position.Coordinate.Longitude.ToString("0.00000000"));
if (MCSManager.Instance.userDetails != null && MCSManager.Instance.userDetails.LOC_TRACK_ENABLED.Equals("1") && userSettings.Values.ContainsKey(Constants.USER_ID))
{
DatabaseManager dbManager = new DatabaseManager();
Location_Tracking location_tracking = WebserviceED.StoreLocationData(args.Position.Coordinate.Latitude.ToString(),
args.Position.Coordinate.Longitude.ToString(), WebserviceED.getTimestamp(), args.Position.Coordinate.Accuracy.ToString());
var insertSuccessfull = dbManager.insertSingleRecord(location_tracking);
}
}

在这些应用程序中,我仅在应用程序位于前台或最小化时获取位置详细信息。如果我关闭该应用程序,它不会给我位置详细信息。另外,请帮助我如何在后台任务中使用它,以及如何触发时间触发器以将数据发送到服务器,即使用户终止了该应用程序?

还有,我们可以使用多个后台任务吗?我想将一个用于 TimeTrigger 以将数据发送到服务器,另一个用于推送通知。

最佳答案

在 Windows 10 中完全可以访问用户的位置。它可以从不同的来源访问,例如;

  • GPS:大约 10 米内
  • Wi-Fi:大约 30 米到 500 米之间
  • 手机信号塔:大约在 300 米到 3,000 米之间
  • IP 地址:大约在 1,000 米到 5,000 米之间

对于技术理解,您可以引用以下链接。

https://msdn.microsoft.com/library/windows/apps/windows.devices.geolocation.aspx

对于来自 channel 的视频,请引用

https://channel9.msdn.com/Series/Windows-10-development-for-absolute-beginners/UWP-059-UWP-Weather-Accessing-the-GPS-Location

这些都是值得引用的好文章。

更多技术细节:

https://msdn.microsoft.com/en-us/library/windows/apps/mt219698.aspx

还有一些例子,

https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MapControl

关于c# - 应用程序在 Windows 10 中处于后台时的位置跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36307963/

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