跳过内容

@capgo/capacitor-背景任务

Capacitor应用的Expo样式命名背景任务,基于Android WorkManager和iOS BGTaskScheduler。

使用 @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根据电池、网络、应用程序使用情况和系统政策决定何时运行预定工作。

平台原生调度器重要行为
AndroidWorkManager周期性工作有15分钟的最小间隔。
iOSBGTaskSchedulerminimumInterval 是开始日期,而不是保证的节奏。
Web测试环境的回退没有可用的真实背景调度器。

公共API

公共API
方法描述
defineTask定义一个命名任务的JavaScript回调函数。
registerTaskAsync注册一个命名的周期性背景任务。
unregisterTaskAsync取消未来的任务运行。
isTaskRegisteredAsync返回一个任务是否已注册。
getRegisteredTasksAsync列出已注册的任务名称。
getPendingTaskRunsAsync列出等待完成的本机任务事件。
getStatusAsync是否支持原生后台调度
triggerTaskWorkerForTestingAsync触发注册的任务(开发和QA)
addExpirationListener监听iOS过期事件

真实数据来源

真实数据来源

此参考资料是从 src/definitions.tscapacitor-后台任务.

从@capgo/capacitor-后台任务继续

从@capgo/capacitor-后台任务继续

如果您正在使用 @capgo/capacitor-后台任务 为原生插件工作做好准备,连接它 使用 @capgo/capacitor-background-task 在使用 @capgo/capacitor-background-task 中的原生能力 Capgo 插件目录 在 Capgo 插件目录 中的产品工作流 Capacitor 由 Capgo 提供的插件 在 Capacitor 由 Capgo 提供的插件 中的实现细节 添加或更新插件 在添加或更新插件 中的实现细节 Ionic 企业插件替代品 在 Ionic 企业插件替代品 中的产品工作流