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