在基于CE的Windows Mobile中,您可以使用
SetPowerRequirement和
ReleasePowerRequirement API来防止屏幕背光超时:
IntPtr handle = SetPowerRequirement("BKL1:",PowerState.FULL,1,IntPtr.Zero,0); // screen won't timeout while you do stuff in here ReleasePowerREquirement(handle);
在WP7上有类似的事情吗?
对的,这是可能的.您可以使用PhoneApplicationService.Current.UserIdleDetectionMode来停止屏幕背光超时并停止屏幕锁定.
您还可以使用PhoneApplicationService.Current.ApplicationIdleDetectionMode来允许应用程序在锁定屏幕下继续运行.
以下是关于这两个选项的更多细节:
UserIdleDetectionMode
禁用此功能将使屏幕停止超时和锁定.例如,我在下载大文件时禁用UserIdleDetectionMode,因此应用程序不会中途停止下载.
下载完成后,我重新启用UserIdleDetectionMode,以便屏幕像往常一样超时.
ApplicationIdleDetectionMode
NB:这是一次性打击.您可以禁用它,但无法重新启用它.
如果禁用ApplicationIdleDetectionMode,则当屏幕锁定时,您的应用程序将继续运行.如果用户启动其他应用,您的应用仍会死亡.
认证要求要求您在第一次禁用ApplicationIdleDetectionMode时提示用户.例如. “这个应用程序将继续在锁定的屏幕下运行,并可能耗尽你的电池.你还好吗?”如果您不这样做,您的应用将被拒绝.