如何让应用程序在屏幕锁定下工作?

时间:2011-04-04 14:07:53

标签: windows-phone-7 detection python-idle

我正在编写一个WP7应用程序,即使屏幕锁定被激活也需要播放音乐。我做了以下事情:

PhoneApplicationService.Current.ApplicationIdleDetectionMode = 
                                                IdleDetectionMode.Disabled;

我也正在实施以下事件:

void RootFrame_Obscured(Object sender, ObscuredEventArgs e)
{
    _playunderLock = true;
}

void RootFrame_Unobscured(object sender, EventArgs e)
{
    _playunderLock = false;
}

但是当明确按下锁定按钮时,我的音乐仍会停止!

我错过了什么吗? 此外,当播放音乐时,即使我没有调用

,也不会立即激活默认锁定屏幕
PhoneApplicationService.Current.UserIdleDetectionMode = 
                                   IdleDetectionMode.Disabled;

1 个答案:

答案 0 :(得分:2)

此博文可能有所帮助:http://andreassaudemont.com/post/1068697622/useridledetectionmode-and-applicationidledetectionmode。如果您需要应用程序在用户未与其交互时继续运行(例如收听backgorund音乐),那么您需要禁用用户空闲检测:PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;但是从您的描述中听起来您似乎正在使用用户锁定屏幕时的问题,即应用程序空闲检测。所以,我唯一能想到的就是你把它设置得太早(我知道这听起来很奇怪!)。在RunKeeper中,我们在App.xaml.cs中的 InitializePhoneApplication 方法中禁用应用程序空闲检测(*)。

(*)注意:禁用任何类型的空闲检测是需要用户许可的任何操作,因此您也需要将其添加到应用程序中。