1

因此,这是我试图使用后台代理解决的问题:即使在设备重置后(正在运行的应用程序的上下文),当他在后台离线时,我也需要继续记录用户位置。

为了尝试解决这个问题,我逐字使用了这种方法中的定期任务,它确实在调试模式下工作。但是,当我一夜之间无人看管电话时,在离开电话半小时后,我只有一个用户日志。没有记录更多条目(请记住,我使用了测试日志条目而不是真正的 GPS 信号,这意味着我仅触发了简单的日志写入以用于测试目的)。

我错过了什么吗?这不是解决此问题的有效方法吗?如果是这样,您能否提供一个原因,因为我找不到任何说明这种限制的文档。

4

1 回答 1

1

WP 8.1 上的操作系统对后台代理何时运行以及运行时间有一些非常严格的规定。每 30 分钟一次与此处的 MSDN 文档和我的观察一致。如果您的代码编写正确,您应该大约每 30 分钟看到一个条目。如果您要为平板电脑编写商店应用程序,您将有更多选择。在那里,操作系统相对于后台代理的行为有点松懈(其中一些没有很好的记录)。由于您的目标是 Win Phone,因此我不会详细介绍平板电脑上的后台代理。

我不确定它是否适用于您的用例,但我想到的一件事是让用户保持应用程序运行。您可以防止手机进入低电量状态并暂停您的应用程序(就像导航应用程序一样)。为此,请参阅PhoneApplicationService.UserIdleDetectionMode。如果这样做,请确保将屏幕设置为黑色(或大部分为黑色)并await Task.Delay(...)适当地使用睡眠 ( ) 以节省电池。

于 2015-10-01T07:25:54.963 回答