在 Windows Phone 8.1 中将应用 运行 保持在锁屏状态

Keep app running under lockscreen in Windows Phone 8.1

好像

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;

在 Windows Phone 8.1(非 Silverlight)中不再可用。有没有办法让应用程序 运行 在锁定屏幕下像播放音频一样,但为了我们自己的目的,比如在后台执行耗时的图像、视频处理?

根据 https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn642090.aspx 等官方文档,我猜测从 8.1 运行 开始,锁定屏幕下的内容是 Microsoft 库存应用程序的特权,开发人员仅限于他们提供的任何内容。例如第三方应用只能通过后台传输通过 MediaPlayer API 和 download/upload 文件播放音频。我猜想这样做的目的是控制流氓应用程序并节省电量;但这会迫使正版应用程序和用户保持屏幕打开状态,这会更加耗电。

据我所知,无法 运行 您的应用程序(主要部分)处于锁屏状态。一旦启用锁屏,您的应用将被暂停 (see more at MSDN)。

如果你想阻止自动锁屏,你可以使用DisplayRequest class

请注意,当您的应用执行长时间的 运行 操作(也可能消耗电池)时,用户应该可以 cancel/monitor 该过程。

至于运行在WinRT后台的宁代码是可能的: