我可以阻止Windows Phone 7上的屏幕超时吗?

时间:2010-10-13 00:46:09

标签: windows-phone-7 backlight

在基于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上有类似的事情吗?

1 个答案:

答案 0 :(得分:11)

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

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

以下是关于这两个选项的更多细节:

UserIdleDetectionMode

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

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

ApplicationIdleDetectionMode

NB:这是一次性点击。您可以禁用它,但无法重新启用它。

如果禁用ApplicationIdleDetectionMode,则当屏幕锁定时,您的应用程序将继续运行。如果用户启动其他应用,您的应用仍会死亡。

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