首页 文章

在UWP中注册进程内后台任务

提问于
浏览
2

我正在尝试注册一个进程后台任务,这将使我能够处理来自toast-notification动作的后台事件 . 我在我的app类中创建了OnBackgroundActivated的覆盖,但是当我在BackgroundTaskBuilder上调用register时,我得到了这个异常:

未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))

BackgroundTaskBuilder builder = new BackgroundTaskBuilder()
{
    Name = "myTask"
};
builder.SetTrigger(new ToastNotificationActionTrigger());
BackgroundTaskRegistration task = builder.Register();

我发现很多解决方案都表明这是因为Package.appxmanifest中入口点的名称不正确 . 例如hereherehere . 但根据this article on msdn,当我想执行进程内后台任务时,我不应该指定入口点:

对于进程内后台活动,您不要设置TaskEntryPoint . 将其保留为空会启用默认入口点,即Application对象上名为OnBackgroundActivated()的新受保护方法 .

msdn-article声明我必须调用RequestAccessAsync,但documentation和intellisense都表示没有必要 . 但是,如果我调用RequestAccessAsync,它会抛出相同的异常 .

1 回答

  • 0

    问题是由我使用的Windows Phone模拟器上的操作系统引起的 . 正如文森特在评论中所建议的那样,重新安装SDK似乎是解决这个问题的正确方法 . 由于在部署到虚拟设备后出现问题,因此在我的计算机上重新安装SDK显然没有任何效果 .

    通过在模拟器上的设备设置中重置手机,我能够再次在模拟器上成功部署和运行应用程序 .

相关问题