C# 在锁屏下运行Windows Phone 8.1 RT应用程序

C# 在锁屏下运行Windows Phone 8.1 RT应用程序,c#,windows-phone-8,windows-runtime,windows-phone,windows-store-apps,C#,Windows Phone 8,Windows Runtime,Windows Phone,Windows Store Apps,如何使用以下代码使我的Windows Phone 8.1应用程序继续在锁屏下运行,就像在Windows Phone 8中一样: PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; PhoneApplicationFrame rootFrame = App.Current.RootVisual as PhoneApplicationFra

如何使用以下代码使我的Windows Phone 8.1应用程序继续在锁屏下运行,就像在Windows Phone 8中一样:

        PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
        PhoneApplicationFrame rootFrame = App.Current.RootVisual as PhoneApplicationFrame;
        if (rootFrame != null)
        {
            rootFrame.Obscured += new EventHandler<ObscuredEventArgs>(rootFrame_Obscured);
            rootFrame.Unobscured += new EventHandler(rootFrame_Unobscured);
        }
PhoneApplicationService.Current.ApplicationIdleDetectionMode=IdleDetectionMode.Disabled;
PhoneApplicationFrame rootFrame=App.Current.RootVisual作为PhoneApplicationFrame;
if(rootFrame!=null)
{
rootFrame.obclused+=新的事件处理程序(rootFrame\u obclused);
rootFrame.Unobscured+=新的事件处理程序(rootFrame\u Unobscured);
}
我正在使用Windows Phone 8.1运行时(商店)应用程序,而不是Silverlight类型的应用程序,因此首先,PhoneApplicationService似乎不是此API的一部分,因此上述代码将无法工作。有人知道在WindowsPhone8.1中推荐的方法是什么吗

附言。
如果这是不可能的,因为我开始担心是这样的情况,我的替代选择是什么?

更新了

构建RT Windows Phone 8.1应用程序时,
PhoneApplicationService
不再可用(仅适用于Silverlight Windows Phone 8.1应用程序)

在这一点上,看起来没有直接的替换,但是使用类可以执行一些变通方法

旧的

如果您仔细检查文档,您会注意到Windows Phone 8.1仍然支持它

我猜您正在构建一个通用应用程序,并试图将此代码放入Windows 8.1和Windows Phone 8.1项目所使用的共享项目的一部分

在这种情况下,您需要使用支持的预处理器指令来指定代码中特定于平台的部分:

#if WINDOWS_PHONE_APP

PhoneApplicationService.Current.ApplicationIdleDetectionMode = 
    IdleDetectionMode.Disabled;
// etc.

#endif
有关如何在通用应用程序中共享不同代码位的更多信息,请访问:


(文章末尾讨论了上述方法)

我认为XAML目前不支持这种方法apps@ShawnKendrot我希望不是这样的你是想建立一个通用的应用程序还是一个普通的Windows Phone 8.1应用程序?我实际上不是在做一个共享的部分,我直接在WP8.1部分中工作,但Visual Studio找不到我对的引用PhoneApplicationService@Gerhman-好的。那你的问题把我弄糊涂了。没有Windows Phone 8.1运行时(应用商店应用程序)。您正在编写Windows 8.1 RT(应用商店)应用程序或Windows Phone 8.1应用程序。您可以使用的应用程序有很大的不同。我也这么认为,但似乎有区别,表明RT和Silverlight应用程序有不同的库。区别在于RT应用程序使用的运行时与Win8应用程序基本相同,而Silverlight应用程序使用的是特定于WP的onesJustin,您可以使用Silverlight或运行时构建Windows Phone 8.1应用程序,但不能同时使用两者。虽然文档中说它在8.1中受支持,但它仅在Silverlight 8.1中受支持。“通用应用程序”只是基于运行时的应用程序。