c# – 适用于Windows的通用应用程序10.如何触发后台任务?

c# – 适用于Windows的通用应用程序10.如何触发后台任务?,第1张

概述我需要通过按动作按钮从交互式Toast通知触发后台任务.我不知道我做错了什么.我可以注册一个任务,并在visual studio中查看它.即使我可以调试它(debuger跳转到MyToastNotificationBackgroundTask.Run函数,但参数IBackgroundTaskInstance taskInstance是空对象),单击一个按钮永远不会运行任务或至少debuger do 我需要通过按动作按钮从交互式Toast通知触发后台任务.我不知道我做错了什么.我可以注册一个任务,并在visual studio中查看它.即使我可以调试它(deBUGer跳转到MyToastNotificationBackgroundTask.Run函数,但参数IBackgroundTaskInstance taskInstance是空对象),单击一个按钮永远不会运行任务或至少deBUGer dos不显示它.

我正在注册这样的后台任务

var builder = new BackgroundTaskBuilder();builder.name = "MyToastNotificationBackgroundTask";builder.TaskEntryPoint = "Tasks.MyToastNotificationBackgroundTask";builder.SetTrigger(new ToastNotificationActionTrigger());BackgroundTaskRegistration task = builder.Register();

显示通知

ToastNotifIEr toastNotifIEr = Toastnotificationmanager.CreatetoastNotifIEr();ScheduledToastNotification myToastNotificaton = new ScheduledToastNotification(this.myToastXml,DateTime.Now.AddMinutes(1),TimeSpan.FromMinutes(60),2);myToastNotificaton .ID = "toast_54ahk36s";toastNotifIEr.AddToSchedule(myToastNotificaton);

在app清单中

<Extensions>    <Extension category="windows.backgroundTasks" EntryPoint="Tasks.MyToastNotificationBackgroundTask">      <BackgroundTasks>        <Task Type="systemEvent" />      </BackgroundTasks>    </Extension></Extensions>

在吐司模板xml动作按钮是

<actions>    <input ID="message" type="text" placeholderContent="200" />    <action activationType="background" content="Count" arguments="count" /></actions>

后台任务itsetf

namespace Tasks{    public sealed class MyToastNotificationBackgroundTask : IBackgroundTask    {        public voID Run(IBackgroundTaskInstance taskInstance)        {            var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail;            ...        }    }}

我无法理解如何在通知模板 *** 作按钮上指定activationype =“background”与MyToastNotificationBackgroundTask任务相关?我无法找到相关信息.

有人请分享你的知识.也许你有一个工作的例子或smf.任何帮助将不胜感激.提前致谢.

解决方法

I can’t understand how specifying activationype=”background” on a
notification templates action button is relating to
MyToastNotificationBackgroundTask task? i can’t find relevant info on
that.

后台任务(ToastNotificationActionTrigger)的触发器类型是将Toast *** 作连接到后台任务的内容.当用户点击 *** 作时,app会查找具有ToastNotificationActionTrigger触发器的后台任务,并在找到时运行.

我使用你的代码,但无法重现问题,触发器工作正常.我的猜测是你已经注册了一个具有该名称但没有正确触发器类型的任务(先尝试取消注册) – 或者 – 你在toast xml(activationType字段)中有拼写问题.

总结

以上是内存溢出为你收集整理的c# – 适用于Windows的通用应用程序10.如何触发后台任务?全部内容,希望文章能够帮你解决c# – 适用于Windows的通用应用程序10.如何触发后台任务?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1231782.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存