4

在基于 CE 的 Windows Mobile 中,您可以使用SetPowerRequirementReleasePowerRequirement API来防止屏幕背光超时,如下所示:

IntPtr handle = SetPowerRequirement("BKL1:", PowerState.FULL, 1, IntPtr.Zero, 0);
// screen won't timeout while you do stuff in here
ReleasePowerREquirement(handle);

在 WP7 上是否可能发生类似的事情?

4

1 回答 1

11

是的,有可能。您可以使用PhoneApplicationService.Current.UserIdleDetectionMode停止屏幕背光超时并停止屏幕锁定。

您还可以使用PhoneApplicationService.Current.ApplicationIdleDetectionMode以允许应用程序在锁定屏幕下继续运行。

以下是有关这两个选项的更多详细信息:

用户空闲检测模式

禁用此功能将阻止屏幕超时和锁定。例如,我在下载大文件时禁用了 UserIdleDetectionMode,因此应用程序不会中途终止下载。

下载完成后,我重新启用 UserIdleDetectionMode 以便屏幕可以像往常一样超时。

应用空闲检测模式

注意:这是一次性的。您可以禁用它,但不能重新启用它。

如果您禁用 ApplicationIdleDetectionMode,您的应用程序将在屏幕锁定时继续运行。如果用户启动另一个应用程序,您的应用程序仍然会死掉。

认证要求要求您在第一次禁用 ApplicationIdleDetectionMode 时提示用户。例如“此应用程序将在锁定屏幕下继续运行,并且可能会耗尽您的电池。您可以吗?” 如果您不这样做,您的应用程序将被拒绝。

于 2010-10-13T02:07:50.540 回答