概述
标题:概述使用 @capgo/capacitor-background-task when your Capacitor app needs periodic background fetch work such as sync, cache refreshes, inbox polling, analytics flushing, or lightweight maintenance jobs.
该插件遵循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 | 仅用于测试的备用 | 没有可用的真实背景调度器。 |
公共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-background-task 在使用 @capgo/capacitor-background-task 中的原生能力 Capgo 插件目录 在 Capgo 插件目录 中的产品工作流 Capacitor 由 Capgo 提供的插件 在 Capacitor 由 Capgo 提供的插件 中的实现细节 添加或更新插件 在添加或更新插件 中的实现细节 Ionic 企业插件替代品 在 Ionic 企业插件替代品 中的产品工作流