在Windows Phone 8.1中保持应用程序在锁屏下运行

Keep app running under lockscreen in Windows Phone 8.1

本文关键字:应用程序 运行 Windows Phone      更新时间:2023-10-16

看来

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;

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

来自官方文件,如https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn642090.aspx,我有点猜测,从8.1开始,锁屏运行程序是微软股票应用程序的特权,开发者只能提供他们提供的任何东西。例如,第三方应用程序只能通过MediaPlayer API播放音频,并通过后台传输下载/上传文件。我可以猜测,此举是为了控制流氓应用程序并节省电池;但这迫使真正的应用程序和用户保持屏幕打开,这会消耗更多的电池。

据我所知,不可能在锁屏下运行您的应用程序(主要部分)。一旦锁定屏幕,您的应用程序将被挂起(请参阅MSDN上的更多信息)。

如果你想防止自动锁屏,你可以使用DisplayRequest类。

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

至于在WinRT中后台运行代码,有可能:

  • 关于音频,请查看MSDN上的背景音频
  • 看看后台任务-它允许在各种情况和条件下在后台运行代码
  • 用于传输文件-后台传输