繁体   English   中英

在Windows Phone 8.1上运行频繁的后台任务

[英]Run frequent background task on Windows Phone 8.1

Windows Phone平台提供BackgroundTasks基础结构。 我可以这样注册我的任务:

builder.TaskEntryPoint = TaskName;
var trigger = new TimeTrigger(15, false);

builder.SetTrigger(trigger);
builder.Register();

问题是,TimeTrigger最小间隔约为15分钟,这对我的应用来说非常大。 我需要在后台每1-2分钟运行一次任务。 在Windows Phone上可以吗?

不可能有基于分钟间隔运行的BackgroundTasks。 正如你所说,最小间隔是15分钟。

这是一个操作系统限制,以防止开发人员构建电池耗尽应用程序。

您总是有一些解决方法,比如拥有PushNotificationTrigger,并设法每分钟向您的设备发送推送通知。 (我猜有些人设法使用ScheduledToastNotification这样做),但我不会推荐它。

使用官方API的AFAIK - 不可能经常运行TimeTrigger 请注意,在WIndows Phone上,间隔更大( MSDN ):

Windows有一个内置计时器,以15分钟为间隔运行后台任务。 请注意,在Windows Phone上,间隔为30分钟。

由于电池消耗/限制,我怀疑是否可能。 也许您可以将应用程序保留在前台并禁用锁屏(通过使用DisplayRequest )。

此外,您可以尝试运行计时器以及在BackgroundTask中获取叛逆。 我没试过,肯定会有很多问题(CPU限制,内存和其他限制),我不确定这是不是不符合认证要求,当然它也不能保证你的BackgroundTask不会被OS终止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM