C# 使用通用Windows 10应用程序在后台进行位置跟踪

C# 使用通用Windows 10应用程序在后台进行位置跟踪,c#,geolocation,windows-phone,win-universal-app,windows-10,C#,Geolocation,Windows Phone,Win Universal App,Windows 10,我正在尝试“刷新”旧的Windows Phone 8.0应用程序,该应用程序需要在后台进行位置跟踪。无法将其“升级”到Windows Phone 8.1(因为后台位置跟踪不起作用) 我得把这个职位找回来,就说每分钟一次吧。如果我将应用程序迁移到Windows 10 UAP,后台的位置跟踪会起作用吗?后台跟踪的UAP方式由ExtendedExecutionSession处理(至少在2015年3月的技术预览中): 这个例子来自。我计划编写一个简单的应用程序,并检查它是否有效。我以为有人已经这么做了,

我正在尝试“刷新”旧的Windows Phone 8.0应用程序,该应用程序需要在后台进行位置跟踪。无法将其“升级”到Windows Phone 8.1(因为后台位置跟踪不起作用)


我得把这个职位找回来,就说每分钟一次吧。如果我将应用程序迁移到Windows 10 UAP,后台的位置跟踪会起作用吗?

后台跟踪的UAP方式由ExtendedExecutionSession处理(至少在2015年3月的技术预览中):


这个例子来自。

我计划编写一个简单的应用程序,并检查它是否有效。我以为有人已经这么做了,这样我可以节省一些时间;)将返回我的结果。它对您有效吗?我们需要在后台任务中添加此项吗?因为当我在我的项目中使用它时。当应用程序位于前台和后台(应用程序最小化)时,我会获得位置详细信息,但它不会检测用户何时杀死应用程序。
private ExtendedExecutionSession session;

private async void StartLocationExtensionSession()
{
   session = new ExtendedExecutionSession();
   session.Description = "Location Tracker";
   session.Reason = ExtendedExecutionReason.LocationTracking;
   session.Revoked += ExtendedExecutionSession_Revoked;
   var result = await session.RequestExtensionAsync();
   if (result == ExtendedExecutionResult.Denied)
   {
       //TODO: handle denied
   }
}