在我的Package.appxmanifest文件中,我添加了一个后台任务声明,“因为我最终需要一个 - 它尚未编写。我选择了”系统事件“作为支持的任务类型,但没有应用程序设置(可执行文件,入口点,开始页面)。
当我尝试在添加该声明后运行应用程序时,我得到:“应用程序清单缺少必需的元素'/ Package / Applications / Application / Extensions / Extension / BackgroundTasks / Task'”
所以我可以在“应用程序设置”编辑框中输入一些值,或者在我声明我要使用之前,我是否必须首先创建背景任务,或者......? ?
根据http://www.silverlightshow.net/items/Windows-8-metro-make-your-app-alive-with-background-tasks.aspx,ControlChannel选项可用于套接字:
“ControlChannel:这些任务只在XAML / C#应用程序中可用,可以在网络时通知 资源接收一些数据。这些主要与StreamSockets相关。此任务也需要 锁屏约束。“
文章还提到:“......您可以收到有关系统事件的通知。这些事件会在发生某些事件时触发,例如传入的短信,......”但如果我正确理解,只有移动服务提供商才能实施SMSReceived事件。
但是我还不清楚的一件事是:我可以在我的项目中创建一个类 后台任务,或者我是否需要将一个项目添加到我的解决方案中 后台任务?如果是后者,该项目应该是“类库(Windows Store Apps)”还是 “Windows运行时组件”项目类型?
答案 0 :(得分:2)
您可以在应用清单文件中定义后台任务。对后台任务的定义没有这样的要求,你可以把你的第一个页面地址。见下图。您需要定义Task Type
。就我而言,我定义了Timer
。另外Entry point
在我的案例中我定义了ItemsPage.cs
,(我在ItemsPage.cs
中没有后台任务)。
之后,您需要在Badge logo
标签中添加Lock Screen Notifications
和Application UI
。
答案 1 :(得分:2)
您可以在实际实施之前定义后台任务,只需:
Tasks.UpdateTask
更新,后台任务必须在另一个项目中定义,并且必须是“Windows运行时组件”类型。请注意,此类项目有一些限制,基本上您无法在其中引用任何其他非Windows运行时组件库。
http://msdn.microsoft.com/en-us/library/windows/apps/br230301.aspx
答案 2 :(得分:1)
您必须至少创建一个入口点才能在应用清单中列出它。