@capawesome-team/capacitor-android-foreground-service

中文文档
8.1.0发布于 2026/03/17MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 7.1万

电容插件在Android上运行一个前景服务.

中文使用文档
文档目录28 节
  1. 通讯
  2. 兼容性
  3. 安装
  4. 机器人
  5. 配置
  6. 演示
  7. 使用量
  8. API 密码
  9. 移动到前景 ()
  10. 启动前景服务(...)
  11. 更新前景服务(...)
  12. 站点前端服务( C)
  13. 检查( )
  14. 请求( )
  15. 检查管理重叠
  16. 管理重叠
  17. 创建通知频道(...)
  18. 删除通知频道(...)
  19. 添加 Listener ('按钮点击',...)
  20. 添加倾听器( 已通知, ...)
  21. 删除所有收听器( )
  22. 接口
  23. 类型异名
  24. 数字
  25. 财务问题
  26. 为什么用户可以驳回通知?
  27. 更改日志
  28. 许可证

@capawesome-team/电容-和机器人-前地服务

电容插件在Android上运行一个前景服务.

通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .

兼容性

插件版本电容版本状态
8.x.x (英语)>=8.x.x积极支持

安装

你可以用我们的 AI 辅助设置 以安装插件. 使用下列命令将 Capawesome 技能添加到您的 AI 工具:

npx skills add capawesome-team/skills

然后使用下列提示:

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

如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capawesome-team/capacitor-android-foreground-service
npx cap sync

机器人

此 API 需要将以下权限添加到您 AndroidManifest.xml 开始之前或之后 application 标签 :

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
<!-- Required to keep the app running in the background without any ressource limitations -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Required to request the manage overlay permission -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

请注意替换 FOREGROUND_SERVICE_LOCATION 使用您想要使用的前景服务类型(参见 前景服务类型) (中文(简体) ). 见 服务类型 用于现有类型.

您还需要添加以下接收器和服务 内部 页:1 application 在您的标签 AndroidManifest.xml数字 :

<receiver android:name="io.capawesome.capacitorjs.plugins.foregroundservice.NotificationActionBroadcastReceiver" />
<service android:name="io.capawesome.capacitorjs.plugins.foregroundservice.AndroidForegroundService" android:foregroundServiceType="location" />

请注意替换 location 使用您想要使用的前景服务类型(参见 前景服务类型) (中文(简体) ). 见 服务类型 用于现有类型.

配置

此插件不需要配置 .

演示

这里有一个实例: robingenz/电容器-插管-demo

机器人
Android Demo

使用量

import { Capacitor } from '@capacitor/core';
import { ForegroundService } from '@capawesome-team/capacitor-android-foreground-service';

const startForegroundService = async () => {
  await ForegroundService.startForegroundService({
    id: 1,
    title: 'Title',
    body: 'Body',
    smallIcon: 'ic_stat_icon_config_sample',
    buttons: [
      {
        title: 'Button 1',
        id: 1,
      },
      {
        title: 'Button 2',
        id: 2,
      },
    ],
    silent: false,
    notificationChannelId: 'default',
  });
};

const updateForegroundService = async () => {
  await ForegroundService.updateForegroundService({
    id: 1,
    title: 'Title',
    body: 'Body',
    smallIcon: 'ic_stat_icon_config_sample',
  });
};

const stopForegroundService = async () => {
  await ForegroundService.stopForegroundService();
};

const createNotificationChannel = async () => {
  await ForegroundService.createNotificationChannel({
    id: 'default',
    name: 'Default',
    description: 'Default channel',
    importance: Importance.Default,
  });
};

const deleteNotificationChannel = async () => {
  await ForegroundService.deleteNotificationChannel({
    id: 'default',
  });
};

API 密码

移动到前景 ()

moveToForeground() => Promise<void>

将应用程序移动到前景.

在Android SDK 23+上,用户必须给予管理覆盖权限. 你可以用这个 requestManageOverlayPermission() 请求方法 权限和 checkManageOverlayPermission() 用于检查是否 获得许可.

只能从Android上找到.

自: 0.3.0 (中文(简体) )


启动前景服务(...)

startForegroundService(options: StartForegroundServiceOptions) => Promise<void>

启动前景服务.

只能从Android上找到.

参数类型
optionsStartForegroundServiceOptions

自: 0.0.1 资源


更新前景服务(...)

updateForegroundService(options: UpdateForegroundServiceOptions) => Promise<void>

更新运行前景服务的通知细节.

只能从Android上找到.

参数类型
optionsStartForegroundServiceOptions

自: 6.1.0 (中文(简体) )


站点前端服务( C)

stopForegroundService() => Promise<void>

停止前卫服务.

只能从Android上找到.

自: 0.0.1 资源


检查( )

checkPermissions() => Promise<PermissionStatus>

检查显示通知的权限 .

打开 机器人,这种方法只需要调用Android 13+.

只能从Android上找到.

回返情况: Promise<PermissionStatus>

自: 5.0.0 (单位:千美元)


请求( )

requestPermissions() => Promise<PermissionStatus>

请求显示通知的权限 .

打开 机器人,这种方法只需要调用Android 13+.

只能从Android上找到.

回返情况: Promise<PermissionStatus>

自: 5.0.0 (单位:千美元)


检查管理重叠

checkManageOverlayPermission() => Promise<ManageOverlayPermissionResult>

请检查date=中的日期值 (帮助) .

只能从Android上找到.

回返情况: Promise<ManageOverlayPermissionResult>

自: 0.3.0 (中文(简体) )


管理重叠

requestManageOverlayPermission() => Promise<ManageOverlayPermissionResult>

请求管理覆盖权限 .

只能从Android上找到.

回返情况: Promise<ManageOverlayPermissionResult>

自: 0.3.0 (中文(简体) )


创建通知频道(...)

createNotificationChannel(options: CreateNotificationChannelOptions) => Promise<void>

创建通知通道 . 如果不引用,插件会创建一个频道,其名称和描述设置为"Default".

仅供Android(SDK 26+)使用.

参数类型
optionsCreateNotificationChannelOptions

自: 6.1.0 (中文(简体) )


删除通知频道(...)

deleteNotificationChannel(options: DeleteNotificationChannelOptions) => Promise<void>

删除通知频道.

仅供Android(SDK 26+)使用.

参数类型
optionsDeleteNotificationChannelOptions

自: 6.1.0 (中文(简体) )


添加 Listener ('按钮点击',...)

addListener(eventName: 'buttonClicked', listenerFunc: ButtonClickedEventListener) => Promise<PluginListenerHandle>

点击通知按钮时调用 .

仅在iOS上可用.

参数类型
eventName'buttonClicked'
listenerFuncButtonClickedEventListener

回返情况: Promise<PluginListenerHandle>

自: 0.2.0 (中文(简体) )


添加倾听器( 已通知, ...)

addListener(eventName: 'notificationTapped', listenerFunc: NotificationTappedEventListener) => Promise<PluginListenerHandle>

监听前台服务通知时调用.

只能从Android上找到.

参数类型
eventName'notificationTapped'
listenerFuncNotificationTappedEventListener

回返情况: Promise<PluginListenerHandle>

自: 8.1.0 联合国


删除所有收听器( )

removeAllListeners() => Promise<void>

删除此插件的所有听众 .

自: 0.2.0 (中文(简体) )


接口

启动前景服务选项

Prop类型说明默认自兹
bodystring通知书正文如下:.0.0.1 资源
buttonsNotificationButton[]通知上要显示的按钮 。 仅在Android上可用(SDK 24+).0.2.0 (中文(简体) )
idnumber通知识别符.0.0.1 资源
serviceTypeServiceType前景服务类型. 仅在Android(SDK 29+)上可用.6.2.0 (单位:千美元)
smallIconstring通知的状态栏图标 。 图标应该放置在您的应用程序中 res/drawable 文件夹。 此选项的值应该是可绘制的资源ID, 即没有扩展名的文件名 .0.0.1 资源
titlestring通知的标题.0.0.1 资源
silentboolean如果是真的,则只在第一次通知时发出警报(声音/振动)。 之后的更新将会被沉默.false6.1.0 (中文(简体) )
notificationChannelIdstring通知频道标识符.6.1.0 (中文(简体) )

通知按钮

Prop类型说明自兹
titlestring按钮标题.0.2.0 (中文(简体) )
idnumber按钮标识符 。 用于在 buttonClicked 事件已释放.0.2.0 (中文(简体) )

权限状态

Prop类型说明自兹
displayPermissionState显示通知的权限状态 .5.0.0 (单位:千美元)

管理重叠任务结果

Prop类型说明自兹
grantedboolean是否获得许可 。 总是这样 true android SDK < 23 (英语).0.3.0 (中文(简体) )

创建通知

Prop类型说明自兹
descriptionstring本频道的描述(向用户介绍).6.1.0 (中文(简体) )
idstring频道标识符.6.1.0 (中文(简体) )
importanceImportance发送到此频道的通知的中断级别 .6.1.0 (中文(简体) )
namestring此频道的名称( 向用户介绍) .6.1.0 (中文(简体) )

删除通知

Prop类型说明自兹
idstring频道标识符.6.1.0 (中文(简体) )

插件听筒

Prop类型
remove() => Promise<void>

按钮点击事件

Prop类型说明自兹
buttonIdnumber按钮标识符 .0.2.0 (中文(简体) )

通知 纹身事件

Prop类型说明自兹
notificationIdnumber通知识别符.8.1.0 联合国

类型异名

更新前景服务选项

StartForegroundServiceOptions

权限状态

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

按钮点击事件收听器

(event: ButtonClickedEvent): void

通知窗口

(event: NotificationTappedEvent): void

数字

服务类型

成员数值说明自兹
Location8长跑使用需要位置访问的病例,如导航和位置共享.6.2.0 (单位:千美元)
Microphone128从背景继续麦克风抓取,如语音录音机或通信app.6.2.0 (单位:千美元)

重要性

成员数值自兹
Min16.1.0 (中文(简体) )
Low26.1.0 (中文(简体) )
Default36.1.0 (中文(简体) )
High46.1.0 (中文(简体) )
Max56.1.0 (中文(简体) )

财务问题

为什么用户可以驳回通知?

Android 14 改变了行为,允许用户驳回此类通知,参见 用户如何经历不可解除通知的变化。 。 。 .

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

版本与发布记录

@capawesome-team/capacitor-android-foreground-service 共发布 10 个版本,首次发布于 2023/10/21;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.1.0latest2026/03/177 个月前
8.0.12026/02/198 个月前
8.0.02025/12/1710 个月前
7.0.12025/02/061.8 年前
7.0.02025/01/301.8 年前
6.2.02024/12/271.9 年前

关于 @capawesome-team/capacitor-android-foreground-service 的常见问题

@capawesome-team/capacitor-android-foreground-service 是什么?

电容插件在Android上运行一个前景服务.

如何安装 @capawesome-team/capacitor-android-foreground-service?

在项目目录运行 npm install @capawesome-team/capacitor-android-foreground-service,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capawesome-team/capacitor-android-foreground-service 支持 TypeScript 吗?

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

@capawesome-team/capacitor-android-foreground-service 支持 ESM 还是 CommonJS?

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

@capawesome-team/capacitor-android-foreground-service 可以商用吗?

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

@capawesome-team/capacitor-android-foreground-service 的下载量有多少?

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

@capawesome-team/capacitor-android-foreground-service 还在维护吗?

最新版本 8.1.0 发布于 2026/03/17(7 个月前);至今共发布 10 个版本,其中过去 12 个月发布了 3 个;首次发布于 2023/10/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。