电容背景任务插件
用于运行背景任务的电容插件 .
使用大小写
背景任务插件通常用于完成应用程序移动到背景时的短跑工作,例如:
- 完成网络请求: 完成应用程序在前景时启动的上传或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 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:
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.
如果你喜欢 手动设置,通过运行下列命令来安装插件:
npm install @capawesome/capacitor-background-task
npx cap sync
配置
此插件不需要配置 .
演示
这里有一个实例: robingenz/电容器-插管-demo
使用量
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 密码
在Exit(...) 之前
beforeExit(cb: () => void) => Promise<CallbackID>
当应用程序移动到背景时调用此方法 . 它允许应用程序在背景中继续运行一个任务.
打开 iOS系统 这种方法应在不到30秒内完成.
仅在Android和iOS上提供.
| 参数 | 类型 |
|---|---|
cb | () => void |
回返情况: Promise<string>
结束(...)
finish(options: FinishOptions) => void
完成当前背景任务 . 操作系统会让应用程序入睡.
仅在Android和iOS上提供.
| 参数 | 类型 |
|---|---|
options | FinishOptions |
接口
完成选项
| Prop | 类型 |
|---|---|
taskId | CallbackID |
类型异名
调用回话ID
string
基尔克
iOS系统
打开 iOS系统 页:1 用户界面框架 已使用. 更多信息:执行情况和任何限制 这里。 。 。 .
机器人
目前尚未就 机器人。 。 。 . 计划近期增加支持.
财务问题
我的任务在背景中还有多少时间?
在iOS上,任务开始于 beforeExit(...) 应在30秒内完成。 你工作完成后马上打电话 finish(...) 操作系统可以让应用程序睡觉 更多信息,请访问 苹果文档。 。 。 .
这个插件在Android上是否被支持?
目前在Android上还没有现成的执行,因此任务在那里没有被延长. 未来计划支持Android,参见 基尔克 节.
我能用这个插件运行定期或预定的任务吗 ?
不, 此插件旨在扩展您的应用程序在移动到背景时的执行时间, 这样您就可以完成一个短跑的任务 。 它不安排程序关闭时运行的任务 .
我怎么知道应用程序何时移动到背景?
使用 appStateChange 官方听众 @capacitor/app 插件,显示于 使用量 节。 何时 isActive 变成 false电话 beforeExit(...) 开始背景任务.
我什么时候才能打电话给你 finish 方法吗?
打电话 finish(...) 任务ID返回 beforeExit(...) 只要一切完成,就马上 这告诉OS任务已经完成,这样就可以让应用程序入睡.
我能用这个插件吗? 有Ionic、React、Vue或Angular?
是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.
相关插件
- 警报: 创建系统提醒和定时器.
- Android 前景服务: 为长期工作在Android上运行前卫服务.
- 保持清醒:当您的应用在前方时保持屏幕清醒.
通讯
随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .
更改日志
见 变动情况。 。 。 .
许可证
见 自由主义。 。 。 .
贷项
此插件基于 电容背景任务 插件 . 感谢所有为这个项目捐款的人!