概述
概述使用 @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-background-task继续如果您正在使用 @capgo/capacitor-background-task 连接它与 使用 @capgo/capacitor-background-task 为native能力在使用 @capgo/capacitor-background-task Capgo 插件目录 为产品工作流程在 Capgo 插件目录 Capacitor 插件由 Capgo 为实现细节在 Capacitor 插件由 Capgo 添加或更新插件 为实现细节在添加或更新插件,并 Ionic 企业插件替代方案 {"targetLanguage":"Simplified Chinese","pagePath":"/zh/docs/plugins/background-task/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"为 Ionic 企业插件替代品的产品工作流程"},{"text":"编辑页面"}]}