[英]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.