Windows Phone 8.1中的BackgroundExecutionManager.RequestAccessAsync时未注册类(HRESULT异常:0x80040154) - c#

我正在尝试在我的项目中实现后台任务。因此,我添加了Windows Runtime Component Project并从主Windows Phone 8.1 silverlight project中对其进行了引用。但是当我调用下面的函数时,我得到一个异常

“类型为'System.Exception'的第一次机会异常发生在
mscorlib.ni.dll。附加信息:未注册课程
(来自HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))

        // Applications must have lock screen privileges in order to receive raw notifications
        BackgroundAccessStatus backgroundStatus = await BackgroundExecutionManager.RequestAccessAsync();

        // Make sure the user allowed privileges
        if (backgroundStatus != BackgroundAccessStatus.Denied && backgroundStatus != BackgroundAccessStatus.Unspecified)
        {
            OpenChannelAndRegisterTask();
        }
        else
        {
            // This event comes back in a background thread, so we need to move to the UI thread to access any UI elements
            Dispatcher.BeginInvoke(() =>
            {
                Debug.WriteLine("Lock screen access is denied");
            });
        }

为什么会这样?稍后,我创建一个示例Windows Phone项目,上面的代码可以正常工作。这个奇怪问题的原因将是什么?

如果您有任何线索,请帮助我解决此问题。

参考方案

后台任务必须使用其类名在Package.appxmanifest中注册(“声明”)。

双击appxmanifest文件,进入“声明”,并确保a)在其中声明了后台任务,b)在入口点下输入了已更正的类名(如NamespaceName.BackgroundTaskClassName)。

对我来说,RequestAccessAsync失败,并显示与您完全相同的错误消息,因为我忘记注册后台任务。

(请注意面向Windows 10而不是8(.1)的读者:Frank Sposaro的答案不再适用于Windows 10,因为他提供了正确的MSDN link文档。)

Windows Phone WNS通知导航到特定页面 - c#

它是Windows运行时,Windows Phone专用项目。我正在使用Azure和Azure通知中心。所以我的问题是,有谁愿意如何导航到某些特定页面并发送ID等参数。这是我的吐司模板,如字符串中所述: var toast = @"<toast><visual><binding template=""…

Windows Phone 7-C#如何在代码中使用ListPickerItem而不会崩溃? - c#

到目前为止,Listpickeritem似乎有点头痛,因为它很容易崩溃。我有以下代码,在运行应用程序时选择listpickeritem时,该代码会崩溃:for (int i = 1; i <= 100; i++) { ListPickerItem item = new ListPickerItem(); item.Content = i.ToStrin…

从Windows Phone 7设备静默发送电子邮件? - c#

是否可以从Windows Phone 7设备静默发送电子邮件?我问的原因是因为我想拥有一个系统,应用程序将从该系统将信息发送到该服务器将要记录的服务器。我认为如果我使用电子邮件,它将比其他系统更简单。正如您可能从我的问题中猜到的那样,我现在处在完全未开发的领域。 参考方案 只要您在服务器上运行SMTP服务器,就可以发送电子邮件。Web服务是为这种事情而设计的…

在硬件级别模拟按键-Windows - java

我正在寻找一种语言或库,以使我可以尽可能地模拟按键,而无需实际按下按键。(我对按键级别的具体衡量标准是,当我的计算机已经在运行按键侦听器(例如MouseKey和StickyKeys)时,它是否会产生与物理按键相同的输出。)我已经尝试了许多模拟按键的方法。Java AWT库,Java win32api,python win32com sendKeys,pyth…

Windows Service增加CPU消耗 - c#

在我的工作中,我负责使用C#2003编写的六个Windows服务。每个服务都包含一个计时器,该计时器每分钟左右触发一次,大部分工作都在该计时器上进行。我的问题是,随着这些服务的运行,即使没有任何有意义的工作要做,它们也会在循环的每次迭代中消耗越来越多的CPU时间(即,它们只是闲着,浏览数据库)做某事)。当它们启动时,每个服务平均使用4个CPU的(大约)2-3…