Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UWP位置跟踪,即使应用程序已暂停_C#_Uwp - Fatal编程技术网

C# UWP位置跟踪,即使应用程序已暂停

C# UWP位置跟踪,即使应用程序已暂停,c#,uwp,C#,Uwp,我正在开发一个UWP运行应用程序,我想实时记录用户的位置。我读了很多关于google的文章,得到了一些解决方案,如:。但这两种解决方案有一个相同的问题:应用程序挂起时无法记录位置。我知道uwp中的后台任务,它似乎需要一个触发器(例如SystemTrigger)来启动。当应用程序挂起到跟踪/记录位置时,是否可以启动(不使用触发器而是直接调用)自定义后台任务?首先,我想回答您的问题: 是否可以启动(不使用触发器而是直接调用)一个 应用程序挂起到跟踪/记录位置时的自定义后台任务 是的,您可以使用App

我正在开发一个UWP运行应用程序,我想实时记录用户的位置。我读了很多关于google的文章,得到了一些解决方案,如:。但这两种解决方案有一个相同的问题:应用程序挂起时无法记录位置。我知道uwp中的后台任务,它似乎需要一个触发器(例如SystemTrigger)来启动。当应用程序挂起到跟踪/记录位置时,是否可以启动(不使用触发器而是直接调用)自定义后台任务?

首先,我想回答您的问题:

是否可以启动(不使用触发器而是直接调用)一个 应用程序挂起到跟踪/记录位置时的自定义后台任务

是的,您可以使用ApplicationStrigger类执行此操作。看见 (它仍然是一个触发器,因为API需要它,但它基本上直接从应用程序调用backgroundtask)

但这里有一些用于位置跟踪的示例,以及这类事情:

我认为您正在寻找的是LocationTrigger(请参阅:) 它用于Geofence示例(Scenario5_GeofenceBackgroundTask.xaml.cs)

基本上是这样注册的:(来自示例代码)


格雷克,谢谢你的回答。我会试试ApplicationStrigger。在你发表评论后,我扩展了我的答案。。我还会尝试LocationTrigger。我不知道你的确切要求,但对于跟踪地点,这将是一条可行之路。我看到了你的最新答案,再次感谢。我的确切要求是:即使应用程序被暂停,也要继续跟踪/记录用户的当前位置。雷蒙德,你找到这个问题的答案了吗。我已尝试应用程序服务,但未在挂起模式下运行。
BackgroundTaskBuilder geofenceTaskBuilder = new BackgroundTaskBuilder();
geofenceTaskBuilder.Name = SampleBackgroundTaskName;
geofenceTaskBuilder.TaskEntryPoint = SampleBackgroundTaskEntryPoint;

var trigger = new LocationTrigger(LocationTriggerType.Geofence);

geofenceTaskBuilder.SetTrigger(trigger);


_geofenceTask = geofenceTaskBuilder.Register();
//...and do the rest (but look into the sample..everything is from there...)