# @capawesome/capacitor-background-task 中文文档

规范地址：https://npmcn.com/package/%40capawesome/capacitor-background-task/

版本：8\.0\.3
npm 元数据更新时间：2026-09-02T08:21:52.609Z
中文译文更新时间：2026-11-09T02:55:43.134Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capawesome/capacitor-background-task
原文对照：https://npmcn.com/package/%40capawesome/capacitor-background-task/?lang=original
项目主页：https://capawesome.io/docs/sdks/capacitor/background-task/
源码仓库：https://github.com/capawesome-team/capacitor-plugins

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：28.9 kB，27 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2022-08-04T17:43:22.327Z
- 最新版本发布：2026-09-02T08:21:52.212Z
- 近 30 天下载量：65239（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 5 个）

## 中文简介

IOS上运行背景任务的Capacitor插件.

## 安装

```sh
npm install @capawesome/capacitor-background-task
```

也可以使用：`pnpm add @capawesome/capacitor-background-task`、`yarn add @capawesome/capacitor-background-task`、`bun add @capawesome/capacitor-background-task`

## README

# 电容背景任务插件

用于运行背景任务的电容插件 .

[![Deliver Live Updates to your Capacitor app with Capawesome Cloud](https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1)](https://cloud.capawesome.io/)

## 使用大小写

背景任务插件通常用于完成应用程序移动到背景时的短跑工作,例如:

-   **完成网络请求**: 完成应用程序在前景时启动的上传或API请求.
-   **保存应用程序状态**:在OS让应用程序入睡之前,坚持未保存用户输入或应用状态.
-   **同步数据**: 在修改后端或本地存储时完成写入 .
-   **清理资源**: 在应用程序被暂停前, 关闭连接或慷慨地释放资源 .

## 兼容性

| 插件版本 | 电容版本 | 状态 |
| --- | --- | --- |
| 8.x.x (英语) | \>=8.x.x | 积极支持 |
| 7.x.x (中文(简体) ) | 7.x.x (中文(简体) ) | 折旧 |
| 6.x.x (中文(简体) ) | 6.x.x (中文(简体) ) | 折旧 |
| 5.x.x (中文(简体) ) | 5.x.x (中文(简体) ) | 折旧 |

## 安装

你可以用我们的 **AI 辅助设置** 以安装插件. 添加数据 [超级技能](https://github.com/capawesome-team/skills) 至您的 AI 工具,使用以下命令:

```bash
npx skills add capawesome-team/skills --skill capacitor-plugins
```

然后使用下列提示:

```
 Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-background-task` plugin in my project.
```

如果你喜欢 **手动设置**,通过运行下列命令来安装插件:

```bash
npm install @capawesome/capacitor-background-task
npx cap sync
```

## 配置

此插件不需要配置 .

## 演示

这里有一个实例: [robingenz/电容器-插管-demo](https://github.com/robingenz/capacitor-plugin-demo)

## 使用量

```typescript
import { App } from '@capacitor/app';
import { BackgroundTask } from '@capawesome/capacitor-background-task';

App.addListener('appStateChange', async ({ isActive }) => {
  if (isActive) {
    return;
  }
  // The app state has been changed to inactive.
  // Start the background task by calling `beforeExit`.
  const taskId = await BackgroundTask.beforeExit(async () => {
    // Run your code...
    // Finish the background task as soon as everything is done.
    BackgroundTask.finish({ taskId });
  });
});
```

## API 密码

-   [`beforeExit(...)`](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-beforeexit)
-   [`finish(...)`](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-finish)
-   [接口](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-type-aliases)

### 在Exit(...) 之前

```typescript
beforeExit(cb: () => void) => Promise<CallbackID>
```

当应用程序移动到背景时调用此方法 . 它允许应用程序在背景中继续运行一个任务.

打开 **iOS系统** 这种方法应在不到30秒内完成.

仅在Android和iOS上提供.

| 参数 | 类型 |
| --- | --- |
| **`cb`** | `() => void` |

**回返情况:** `Promise<string>`

* * *

### 结束(...)

```typescript
finish(options: FinishOptions) => void
```

完成当前背景任务 . 操作系统会让应用程序入睡.

仅在Android和iOS上提供.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[FinishOptions](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-finishoptions)` |

* * *

### 接口

#### 完成选项

| Prop | 类型 |
| --- | --- |
| **`taskId`** | `[CallbackID](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-callbackid)` |

### 类型异名

#### 调用回话ID

`string`

## 基尔克

### iOS系统

打开 **iOS系统** 页:1 [用户界面框架](https://developer.apple.com/documentation/uikit) 已使用. 更多信息:执行情况和任何限制 [这里](https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_background/extending_your_app_s_background_execution_time)。 。 。 .

### 机器人

目前尚未就 **机器人**。 。 。 . 计划近期增加支持.

## 财务问题

### 我的任务在背景中还有多少时间?

在iOS上,任务开始于 `beforeExit(...)` 应在30秒内完成。 你工作完成后马上打电话 `finish(...)` 操作系统可以让应用程序睡觉 更多信息,请访问 [苹果文档](https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_background/extending_your_app_s_background_execution_time)。 。 。 .

### 这个插件在Android上是否被支持?

目前在Android上还没有现成的执行,因此任务在那里没有被延长. 未来计划支持Android,参见 [基尔克](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-quirks) 节.

### 我能用这个插件运行定期或预定的任务吗 ?

不, 此插件旨在扩展您的应用程序在移动到背景时的执行时间, 这样您就可以完成一个短跑的任务 。 它不安排程序关闭时运行的任务 .

### 我怎么知道应用程序何时移动到背景?

使用 `appStateChange` 官方听众 `@capacitor/app` 插件,显示于 [使用量](https://npmcn.com/package/%40capawesome/capacitor-background-task/#readme-usage) 节。 何时 `isActive` 变成 `false`电话 `beforeExit(...)` 开始背景任务.

### 我什么时候才能打电话给你 `finish` 方法吗?

打电话 `finish(...)` 任务ID返回 `beforeExit(...)` 只要一切完成,就马上 这告诉OS任务已经完成,这样就可以让应用程序入睡.

### 我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

## 相关插件

-   [警报](https://capawesome.io/docs/sdks/capacitor/alarm/): 创建系统提醒和定时器.
-   [Android 前景服务](https://capawesome.io/docs/sdks/capacitor/android-foreground-service/): 为长期工作在Android上运行前卫服务.
-   [保持清醒](https://capawesome.io/docs/sdks/capacitor/keep-awake/):当您的应用在前方时保持屏幕清醒.

## 通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 [《卡帕索克通讯》](https://cloud.capawesome.io/newsletter/)。 。 。 .

## 更改日志

见 [变动情况](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/background-task/CHANGELOG.md)。 。 。 .

## 许可证

见 [自由主义](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/background-task/LICENSE)。 。 。 .

## 贷项

此插件基于 [电容背景任务](https://github.com/capawesome-team/capacitor-background-task) 插件 . 感谢所有为这个项目捐款的人!

## 常见问题

### @capawesome/capacitor-background-task 是什么？

IOS上运行背景任务的Capacitor插件\.

### 如何安装 @capawesome/capacitor-background-task？

在项目目录运行 npm install @capawesome/capacitor-background-task，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capawesome/capacitor-background-task 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capawesome/capacitor-background-task 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capawesome/capacitor-background-task 可以商用吗？

@capawesome/capacitor-background-task 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @capawesome/capacitor-background-task 的下载量有多少？

根据 npm 官方下载统计，@capawesome/capacitor-background-task 在 2026/10/09 – 2026/11/07 这 30 天内被下载 65,239 次，日均约 2,175 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capawesome/capacitor-background-task 还在维护吗？

最新版本 8\.0\.3 发布于 2026/09/02（2 个月前）；至今共发布 11 个版本，其中过去 12 个月发布了 5 个；首次发布于 2022/08/05。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

