Windows Phone 8.1添加后台任务运行条件(可添加多个)

来源:互联网 发布:火狐javascript void 0 编辑:程序博客网 时间:2024/06/18 14:13

此篇博客是对之前一篇博客同样讲Windows Phone 8.1后台任务的补充:

之前关于Windows Phone 8.1后台任务的博客链接:Windows Phone 8.1后台任务


通过对前一篇博客的认识,知道当建立了后台任务后,就是要在合适的时间去触发它即可,这个时候触发器来帮忙

了。但是除了满足触发条件去触发后台任务之外,我们是否还要让后台任务满足其他一些条件呢。否则在不满足所有

条件之前后台任务是不会运行的。

给后台任务指定条件的任务交给SystemConditionType这个类去完成

类的说明链接:SystemConditionType

注意条件可以添加多个哟,但前提是条件之间互相不矛盾。例如你不能添加一个手机不联网的条件,又添加一个手机

联网的条件,逻辑上是说不通的啊


就打个比方来说吧,我们把触发器设置的当我们点亮屏幕的时候触发后台任务,但是前提是手机是需要已经连着网络

的(也就是说,如果手机不联网,当我们点亮手机屏幕的时候,后台任务还是不会触发)。所以这边我们不仅用触发器

的触发事件默认给后台任务设置了点亮屏幕的条件(当点亮屏幕时),而且还给后台任务能否成功运行设置了额外的条

件--手机必须连着网。

当然举上述例子也许情形不是很恰当,但是很能说明这样一个问题,有助理解。


注意:

对后台任务设置条件可阻止任务不必要地运行,从而节省电池电量和 CPU 运行时。例如,如果你的后台任务在计时

器上运行并要求 Internet 连接,请在注册该任务之前将InternetAvailable条件添加到TaskBuilder。通过在计时器

时间过去以及 Internet 可用时让任务运行,有助于防止任务使用不必要的系统资源和电池寿命。


之前一篇博客的思想流程:

建立后台任务(设置后台任务入口)->建立触发器并设置好触发条件->给后台任务绑定触发器->注册后台任务

主要用到的是SystemTrigger类


这篇博客的思想流程:

建立后台任务(设置后台任务入口)->建立触发器并设置好触发条件->给后台任务绑定触发器->设置后台任务运行条件

->将运行条件绑定给后台任务(也就是向后台任务中添加运行条件)->注册后台任务


可以看出确实只是多了设置条件和绑定条件这一块,但是确实是系统资源和电池资源的一些优化细节,对后台任务运

行条件的进一步严谨化。


多出的两个步骤的解释:

步骤一:创建运行条件具体的类型对象--SystemConditionType(设置后台任务运行条件)

SystemCondition internetCondition = new SystemCondition(SystemConditionType.InternetAvailable);


步骤二:向你的后台任务中添加 SystemCondition 对象(也就是将条件绑定给后台任务)

taskBuilder.AddCondition(internetCondition);


推荐链接:如何设置后台任务的运行条件 (XAML)


0 0
原创粉丝点击