1.这里面详细的说明了后台任务的搭建 调用等

提示:

1.BackgroundTaskRegistration 里面有这两个事件 OnCompleted/Progress 主要用来UpdateUI

这两个事件只允许在前台的时候使用,如果在后台的时候 你想通过事件回调你的更新磁贴方法是不可取的

2.后台任务会根据timetrigger的时间启动后台轮训,这个时候一般是15分钟。

也可以自己在添加一个类处理自己的启动更新磁贴方法

3.有人会问为啥我的磁贴不更新。有很多原因 可能磁贴的模版写的不对,可能网络请求失败,重复请求同一个Url,可能写文件异常。等等吧。

4.多Trigger 注册后台任务

                IBackgroundTrigger timeTrigger = new TimeTrigger(, false);
beginTask(GetRegisteredTilesTask, timeTrigger);
IBackgroundTrigger systemTrigger = new SystemTrigger(SystemTriggerType.ServicingComplete, false);
beginTask(GetRegisteredTilesTask, systemTrigger); private void beginTask(IBackgroundTaskRegistration backtask, IBackgroundTrigger trigger)
{
BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();
taskBuilder.Name = Const_def.TilesTaskName;
taskBuilder.TaskEntryPoint = getTilesTask(typeof(TilesBackgroundTask));
taskBuilder.SetTrigger(trigger); var internetCondition = new SystemCondition(SystemConditionType.InternetAvailable);
taskBuilder.AddCondition(internetCondition); BackgroundTaskRegistration task = taskBuilder.Register();
}

记得在清单里填写这两个Trigger type

仔细查找打断点。授鱼不如授以渔。授渔不如亲自试,亲试不如有思想!记得有人这么说过,后两句忘记怎么说了。

特别再次提醒一定要检查一下后台任务清单

既适用于进程内后台任务,也适用于进程外后台任务

  • 将后台任务与正确的触发器关联。
  • 添加条件以帮助确保你的后台任务成功运行。
  • 处理后台任务进度、完成以及取消。
  • 在应用启动期间重新注册后台任务。 这可以确保在应用首次启动时注册它们。 它还提供了一种检测用户是否已禁用应用的后台执行功能的方法(如果事件注册失败)。
  • 检查是否存在后台任务注册错误。 如果适用,请尝试使用不同参数值来再次注册后台任务。
  • 对于除台式机以外的所有设备系列,如果设备内存不足,后台任务可能会终止。 如果没有呈现内存不足异常,或者应用没有处理该异常,则后台任务将在没有警告且不引发 OnCanceled 事件的情况下终止。 这有助于确保前台中应用的用户体验。 应该将后台任务设计为处理此情形。

仅适用于进程外后台任务

  • 在 Windows 运行时组件中创建后台任务。
  • 不要通过后台任务显示 UI,但 Toast、磁贴以及锁屏提醒更新除外。
  • 在 Run 方法中,为每个异步方法调用请求延迟并在完成该方法时关闭它们。 或者,通过 async/await 使用一个延迟。
  • 使用永久性存储在后台任务与应用之间共享数据。
  • 在应用程序清单中声明每个后台任务及其使用的触发器类型。 确保入口点和触发器类型正确。
  • 不要在清单中指定 Executable 元素,除非使用的是应在与应用相同的上下文中运行的触发器(例如 ControlChannelTrigger)。

仅适用于进程内后台任务

  • 当取消任务时,请确保 BackgroundActivated 事件处理程序退出后再取消,否则整个进程都将终止。
  • 编写生存时间较短的后台任务。 后台任务限制为在 30 秒的时钟时间内使用。
  • 不要依赖后台任务中的用户交互。

启动项目需要做2步:

1.在启动项项目添加后台任务引用

2.在Package.appxmanifest 里添加后台事件 backgroundTasks 选择timer

在后台项目需要做:

1.output type :选择运行时组件

2.public sealed

在代码里需要做:

1.选择你注册的触发器  IBackgroundTrigger timeTrigger = new TimeTrigger(15, false);

2.注册 taskBuilder.Register();

Win10 BackgroundTask的更多相关文章

  1. win10 环境 gitbash 显示中文乱码问题处理

    gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改 ...

  2. 0.Win8.1,Win10,Windows Server 2012 安装 Net Framework 3.5

    后期会在博客首发更新:http://dnt.dkill.net 网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/482280 ...

  3. 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

    常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...

  4. win10上部署Hadoop-2.7.3——非Cygwin、非虚拟机

    开始接触Hadoop,听人说一般都是在Lunix下部署Hadoop,但是本人Lunix不是很了解,所以Google以下如何在Win10下安装Hadoop(之后再在Lunix下弄),找到不少文章,以下是 ...

  5. Win10提示没有权限使用网络资源问题解决

    借鉴链接:http://www.cr173.com/html/67361_1.html Win10提示没有权限使用网络资源解决方法 1.打开控制面板; 2.在所有控制面板项中找到凭据管理器; 3.添加 ...

  6. 使用win10远程控制ubuntu16.04

    使用win10远程控制ubuntu16.04,网上很多需要安装xfce桌面的.今天介绍一下,不需要安装其他桌面,使用Ubuntu16.04自带桌面,漂亮美观. Ubuntu16.04端: 1.打开终端 ...

  7. win10电脑优化

    Windows10必做的优化 --道心 关闭服务 右键点击"此电脑",选择"管理",进入"计算机管理"窗口. 在左侧的菜单选择"服 ...

  8. Win10命令提示符(cmd)怎么复制粘贴

    在Win10系统里右键开始菜单,选择弹出菜单里的命令提示符,如下图所示: 然后复制要粘贴的文字,例如: echo hovertree.com 把上面的文字复制后,点击命令提示符窗口,然后在命令提示符窗 ...

  9. 【Win10】UAP/UWP/通用 开发之 x:Bind

    [Some information relates to pre-released product which may be substantially modified before it's co ...

随机推荐

  1. 【剑指Offer】26、二叉搜索树与双向链表

      题目描述:   输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向.   解题思路:   首先要理解此题目的含义,在双向链表中,每个结 ...

  2. Clocksource tsc unstable

    内核在启动过程中会根据既定的优先级选择时钟源.优先级的排序根据时钟的精度与访问速度. 其中CPU中的TSC寄存器是精度最高(与CPU最高主频等同),访问速度最快(只需一条指令,一个时钟周期)的时钟源, ...

  3. [luogu1447 NOI2010] 能量采集 (容斥原理)

    传送门 Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的 ...

  4. 继续聊WPF——Expander控件(1)

    这个控件最实用的地方,就是做导航栏. <StackPanel Margin="20,20" Width="100" Height="460&qu ...

  5. JAVA关键技术

    通用技术方面 MVC 1)概念 MVC是一个架构模式,它分离了表现与交互.它被分为三个核心部件:模型-model.视图-view.控制器-controller 2)工作原理 所有的终端用户请求被发送到 ...

  6. EurekaLog是什么鬼?

    D的all工程文件打开后,莫名其妙就处于等待打开状态.因为最后一次调整是安装了RO9.0.所以一直怀疑是RO的原因.再加上win7授权问题,安装RO一直不顺当.所以折腾的时间最多. 其他把RO全部卸载 ...

  7. Hive教程(1)

    1. 介绍 Apache Hive可以使用SQL来读,写,管理分布式存储的大数据集,结构可以投射到已经存储的数据上,命令行工具和JDBC驱动可以让用户连接到Hive. 2. 安装和配置 你可以下载Hi ...

  8. C# - Generics

    Generics were added to version 2.0 of the C# language and the common language runtime (CLR). Generic ...

  9. C#编译器优化

    C#编译器优化 https://www.cnblogs.com/podolski/p/8987595.html 使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置 ...

  10. Python使用装饰器自动调用父类__init__

    众所周知,Python中class的构造函数实际是__new__(),但是如果我们执行p1=Point()的时候,不仅会调用Point的__new__方法,而且会调用Point的__init__方法. ...