概览
“概览”章节定义模块作用域任务、设置调度间隔,并返回 OS 可识别的结果,用于同步和缓存预热。
平台支持
标题为“平台支持”的部分| 平台 | 支持 | 备注 |
|---|---|---|
| iOS | 是 | Info.plist 中的 BGTaskScheduler 标识符 |
| Android | 是 | WorkManager 风格的任务 |
| Web 端 | 否 | 使用 Service Worker |
核心功能
标题为“核心功能”的章节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-background-task.
从 @capgo/capacitor-background-task 继续
标题为“从 @capgo/capacitor-background-task 继续”的章节如果你正在使用 @capgo/capacitor-background-task 要规划原生插件工作,请将其与 使用 @capgo/capacitor-background-task 用于“使用 @capgo/capacitor-background-task”中的原生能力, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 查看由 Capgo 提供的 Capacitor 插件中的实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节,以及 Ionic Enterprise 插件替代方案 关于“Ionic Enterprise 插件替代方案”中的产品工作流。