Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 7 如何保持应用程序在屏幕锁定下工作?_Windows Phone 7_Detection_Python Idle - Fatal编程技术网

Windows phone 7 如何保持应用程序在屏幕锁定下工作?

Windows phone 7 如何保持应用程序在屏幕锁定下工作?,windows-phone-7,detection,python-idle,Windows Phone 7,Detection,Python Idle,我正在编写一个WP7应用程序,它需要播放音乐,即使屏幕锁定被激活。我已经做了以下工作: PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; 我还将实施以下活动: void RootFrame_Obscured(Object sender, ObscuredEventAr

我正在编写一个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;
此博客文章可能有帮助:。如果您需要应用程序在用户不与它交互时保持运行(如收听backgorund音乐),则需要禁用用户空闲检测:
PhoneApplicationService.Current.UserIdleDetectionMode=IdleDetectionMode.Disabled但根据您的描述,当用户锁定屏幕时,您似乎遇到了问题,这就是应用程序空闲检测。所以,我唯一能想到的是你设置得太早了(我知道这听起来很奇怪!)。在RunKeeper中,我们在App.xaml.cs中的InitializePhoneApplication方法中禁用应用程序空闲检测(*)


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

您在何处/何时设置ApplicationIdleDetectionMode?一旦它被禁用,它将无法重新启用,直到下一次应用程序启动。是的,我知道。我在我的App()类构造函数中设置了它(只是为了测试一下)…我的问题是,即使我禁用ApplicationIdleDetection,我的应用程序也会被禁用,音乐也会消失;我在玩;当我明确按下锁定按钮时,正在停止。嗨,维奇特拉,你能不能也写下你在晦涩和不引人注意的事件中写的代码。谢谢你的时间。但是我已经在微软关于空闲检测的文档中读了很多。我的问题是,它并没有像文档记录的那样发生。是因为Wp7中的任何更改,还是我自己在事件编程中的错误。。。。此外,我希望了解除PhoneApplicationService.Current.ApplicationIdleDetectionMode=IdleDetectionMode.Disabled以外的其他信息;我应该做些什么来防止我的应用程序在屏幕锁定时停用?在这些被掩盖和未被掩盖的事件中有什么需要做的吗?谢谢你的帮助!我把我的答案扩大了一点。希望对你有帮助,谢谢你。。。我现在已经将我的代码稍微更改为PhoneApplicationFrame rootframe=App.Current.RootVisual作为PhoneApplicationFrame;如果(rootframe!=null){rootframe.Obscured+=new EventHandler(rootframe\u Obscured);rootframe.Unobscured+=new EventHandler(rootframe\u Unobscured);}它正在工作,但不可靠。也许我会提前调用它…在默认的InitializePhoneApplication()之后调用jst;再次感谢。