使用 @capgo/capacitor-background-task 当您的Capacitor应用需要周期性后台抓取工作,如同步、缓存刷新、收件箱轮询、分析数据刷新或轻量级维护任务时。
插件遵循Expo BackgroundTask的实用功能集,包括带有名称的任务、持久注册、状态检查、注销、开发触发器和iOS过期事件。
核心功能
名为“核心功能”的部分defineTask- 为带有名称的任务注册JavaScript回调。registerTaskAsync- 持久化并计划一个周期性任务。unregisterTaskAsync- 取消一个任务的未来运行。isTaskRegisteredAsync- 检查是否已注册一个任务。getRegisteredTasksAsync- 当前已注册的任务名称列表。getPendingTaskRunsAsync- 在 JavaScript 就绪之前记录的本机任务事件。getStatusAsync- 检查本机后台任务的可用性。triggerTaskWorkerForTestingAsync- 在开发期间立即运行已注册的任务。addExpirationListener- 处理 iOS 过期回调。define,schedule,cancel,statusAsync, 和finish- 兼容性帮助器react-native-background-task.
平台行为
标题:平台行为背景任务不是精确的定时器。Android 和 iOS 根据电池、网络、应用程序使用情况和系统政策决定何时运行预定工作。
| 平台 | 本机调度器 | 重要行为 |
|---|---|---|
| Android | WorkManager | 周期性工作有15分钟的最小间隔. |
| iOS | BGTaskScheduler | minimumInterval 是开始日期,而不是保证的节奏. |
| Web | 仅用于测试的fallback | 没有可用的真实背景调度器. |
公共API
公共API| 方法 | 描述 |
|---|---|
defineTask | 定义 JavaScript 回调函数来执行一个命名任务。 |
registerTaskAsync | 注册一个命名的周期性后台任务。 |
unregisterTaskAsync | 取消未来的任务运行。 |
isTaskRegisteredAsync | 返回是否已注册任务。 |
getRegisteredTasksAsync | 列出已注册的任务名称。 |
getPendingTaskRunsAsync | 列出等待完成的原生任务事件。 |
getStatusAsync | 返回原生后台调度是否可用。 |
triggerTaskWorkerForTestingAsync | 触发开发和 QA 环境下注册的任务。 |
addExpirationListener | 监听 iOS 过期事件。 |
真实数据源
数据源此参考资料是从 src/definitions.ts 在 capacitor-背景任务.
从 @capgo/capacitor-背景任务 中继续
从 @capgo/capacitor-背景任务 中继续如果您正在使用 @capgo/capacitor-背景任务 来规划原生插件工作,连接它 使用 @capgo/capacitor-背景任务 来使用原生能力的 Using @capgo/capacitor-背景任务 Capgo 插件目录 产品工作流程在Capgo插件目录中 Capacitor插件由Capgo提供 产品工作流程在Capacitor插件由Capgo提供 添加或更新插件 添加或更新插件的实现细节 Ionic企业插件替代方案 产品工作流程在Ionic企业插件替代方案中