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

dka*_*man 4 backlight windows-phone-7

在基于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);
Run Code Online (Sandbox Code Playgroud)

在WP7上有类似的事情吗?

Ben*_*ood 11

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

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

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

UserIdleDetectionMode

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

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

ApplicationIdleDetectionMode

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

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

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