首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安排后台任务

安排后台任务
EN

Stack Overflow用户
提问于 2016-11-02 02:49:01
回答 1查看 4.8K关注 0票数 2

我目前正在开发一个警报应用程序,我正在实现一个智能警报功能,在这个功能中,我必须从服务器获取数据,以确定唤醒用户的时机是否合适。

比方说,情况是:

  • 警报设置为早上06:30
  • 智能报警功能在06:30之前设置为30分钟,从06:00开始到06:25AM,数据提取将进行5次,间隔5分钟。
  • 如果服务器在早上06:15返回了唤醒用户所需的数据,那么所有调度的任务都将立即取消
  • 目前时间是晚上11:30
  • 智能警报的任务将在晚上11:30至06:00之间执行
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-02 03:41:04

您可以使用推送通知/静默推送通知来完成此任务。请注意,用户必须选择推送通知才能工作。以下是如何实现这一目标的概述

  • 每当用户设置警报时,这一次通过web服务发送到服务器。
  • 服务器将向App发送推送通知有效负载,并将基于设备令牌重定向到App。
  • 一旦设备接收到通知有效负载,就会调用委托。您可以处理此有效负载中与警报相关的数据,也可以调用web服务调用。
  • 使用beginBackgroundTaskWithExpirationHandler执行5分钟间隔任务。beginBackgroundTaskWithExpirationHandler从操作系统请求额外的时间来执行任务。苹果公司并没有(有意)说明这个额外的时间是多长时间,但实际上大约是10分钟。

请阅读更多关于:推送通知、无声推送通知和后台任务处理程序的详细信息。

背景获取API :在iOS 7中,苹果增加了对后台获取的支持--这是一种智能的、每个应用程序的crontab,在机会主义的时候醒来。没有办法强制背景抓取以精确的间隔执行。iOS检查在调度未来回调时,在以前的后台获取过程中使用了多少数据和电池电量。添加支持包括编辑应用程序的属性列表(请参阅UIBackgroundModes),并在应用程序生命周期的早期设置一个获取间隔

这里有更多的细节

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40371713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档