@capgo/capacitor-android-kiosk

中文文档
8.3.3发布于 2026/10/15MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4.1万

Capacitor 的Android Kiosk模式插件 - 将设备锁入有发射器功能的站点模式

中文使用文档
文档目录29 节
  1. *免费开始*
  2. 主要特点
  3. 文档
  4. 兼容性
  5. 安装
  6. 平台支持
  7. 特征
  8. 使用量
  9. 基本 Kiosk 模式
  10. 启动器功能
  11. 硬件密钥控制
  12. 完整示例
  13. API 密码
  14. 时尚模式( I)
  15. isSetAsLauncher () (中文(简体) )
  16. 输入 KioskMode (...)
  17. 退出窗口模式 ()
  18. 设定 ASLauncher ()
  19. 设置 AllowedKeys (...)
  20. 获取 PluginVersion ()
  21. 接口
  22. Android 配置
  23. 1. 主要活动设置
  24. 2. AndroidManifest.xml 互联网档案馆的存檔,存档日期2013-12-02
  25. 重要说明
  26. iOS 选项
  27. 捐款
  28. 许可证
  29. 作者

电容器和相机

从您的 Capacitor app 中将一个Android 设备锁定为站点模式:隐藏系统 UI,屏蔽硬件按钮并运行为主启动器. 由发售站,站牌和单功能装置所建.

Capgo - Build Capacitor apps with AI, ship updates instantly

队长:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

*免费开始*

14天无限自由审判. 不需要信用卡

🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 @capgo/capacitor-android-kiosk 在您的电容应用程序中: npx skills add Cap-go/capgo-skills。然后问你的经纪人: 加上@capgo/capor-android-kiosk到我的Capacitor应用上并把它接上 代理设置指南 • 妇女 主机磁共振

@capgo/capacitor-android-kiosk for Capacitor apps

主要特点

  • Kiosk 模式数字 : enterKioskMode() 隐藏系统UI并屏蔽硬件按钮, exitKioskMode() 恢复他们.
  • 启动器数字 : setAsLauncher() 打开家用屏幕设置 这样你的应用就可以成为发射装置, isSetAsLauncher() 检查它.
  • 允许的密钥数字 : setAllowedKeys() 选择哪些硬件键继续以站点模式运行 .
  • 国家检查数字 : isInKioskMode() 报告工作站模式是否活动.
  • 平台:Android (英语). 仅限Android. iOS和网络不支持.

文档

这里有最完整的医生: https://capgo.app/docs/plugins/android-kiosk/ 页面存档备份,存于互联网档案馆

兼容性

插件版本电容兼容性维护
联合国联合国✅
页:1页:1应要求
页:1页:1❌
页:1页:1❌

说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

安装

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

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-android-kiosk` plugin in my project.

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

npm install @capgo/capacitor-android-kiosk
npx cap sync

平台支持

此插件为 仅限机器人。对于iOS站模式功能,请使用设备内置 引导访问 特性.

特征

  • Kiosk 模式: 隐藏系统 UI并输入浸润全屏模式
  • 保持存活状态: 在站台时提供前景服务; 调用时停止 exitKioskMode()。 。 。 .
  • 会话选项数字 : restoreAfterReboot 尝试在重启后再次打开应用程序; relaunch + 键 relaunchIntervalMinutes 试图在计时器上让UI前进.
  • 启动器集成: 将您的应用程序设定为设备发射器/家用应用程序
  • 硬件密钥控制: 屏蔽或允许特定的硬件按钮
  • 状态检测: 检查站点模式是否活动, 或者是否将应用设定为启动器
  • Android 6.0+ (英语):支持Android API 23通过Android 15(API 35)

使用量

基本 Kiosk 模式

import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';

// Enter kiosk mode (with optional: restoreAfterReboot, relaunch, relaunchIntervalMinutes)
await CapacitorAndroidKiosk.enterKioskMode();

// Exit kiosk mode
await CapacitorAndroidKiosk.exitKioskMode();

// Check if in kiosk mode
const { isInKioskMode } = await CapacitorAndroidKiosk.isInKioskMode();
console.log('Kiosk mode active:', isInKioskMode);

启动器功能

对于完整的站台模式功能,您需要将您的应用设置为设备发射器:

// Open home screen settings for user to select your app as launcher
await CapacitorAndroidKiosk.setAsLauncher();

// Check if app is set as launcher
const { isLauncher } = await CapacitorAndroidKiosk.isSetAsLauncher();
console.log('App is launcher:', isLauncher);

硬件密钥控制

// Allow only volume keys
await CapacitorAndroidKiosk.setAllowedKeys({
  volumeUp: true,
  volumeDown: true,
  back: false,
  home: false,
  recent: false
});

// Block all keys (default)
await CapacitorAndroidKiosk.setAllowedKeys({});

完整示例

async function setupKioskMode() {
  try {
    // Check if already set as launcher
    const { isLauncher } = await CapacitorAndroidKiosk.isSetAsLauncher();

    if (!isLauncher) {
      // Prompt user to set as launcher
      await CapacitorAndroidKiosk.setAsLauncher();
      alert('Please select this app as your Home app');
      return;
    }

    // Configure allowed keys
    await CapacitorAndroidKiosk.setAllowedKeys({
      volumeUp: true,
      volumeDown: true,
      back: false,
      home: false,
      recent: false,
      power: false
    });

    // Enter kiosk mode
    await CapacitorAndroidKiosk.enterKioskMode();
    console.log('Kiosk mode activated');

  } catch (error) {
    console.error('Failed to setup kiosk mode:', error);
  }
}

API 密码

Android Kiosk插件用于控制站台模式和发射机功能. 此插件仅为Android. 对于iOS站模式,使用设备的"向导访问"功能.

时尚模式( I)

isInKioskMode() => Promise<{ isInKioskMode: boolean; }>

检查应用程序是否以站点模式运行 .

回返情况: Promise<{ isInKioskMode: boolean; }>

自: 1.0.0 (单位:千美元)


isSetAsLauncher () (中文(简体) )

isSetAsLauncher() => Promise<{ isLauncher: boolean; }>

检查该应用程序是否被设定为设备发射器(home app).

回返情况: Promise<{ isLauncher: boolean; }>

自: 1.0.0 (单位:千美元)


输入 KioskMode (...)

enterKioskMode(options?: EnterKioskModeOptions | undefined) => Promise<void>

输入站台模式,隐藏系统UI并屏蔽硬件按钮. 同时启动一个前景保持-活性服务,因此该应用不太可能被系统所杀. 应用软件必须被设定为设备发射器,以有效发挥作用.

参数类型说明
optionsEnterKioskModeOptions可选的 奥米 restoreAfterReboot 或者说 relaunch 以保留其保存的值; 当您想要改变时通过它们.

自: 1.0.0 (单位:千美元)


退出窗口模式 ()

exitKioskMode() => Promise<void>

出站模式,恢复正常的系统UI和硬件按钮功能. 同时停止在 Enter-KioskMode () 开始的预览保存服务 .

自: 1.0.0 (单位:千美元)


设定 ASLauncher ()

setAsLauncher() => Promise<void>

打开设备的家用屏幕设置,允许用户将这个应用程序设置为发射器. 这是全站模式功能所需的.

自: 1.0.0 (单位:千美元)


设置 AllowedKeys (...)

setAllowedKeys(options: AllowedKeysOptions) => Promise<void>

设定允许哪些硬件密钥在站台模式下运行 . 默认情况下,所有硬件密钥会以站台模式被屏蔽.

参数类型说明
optionsAllowedKeysOptions允许的密钥配置

自: 1.0.0 (单位:千美元)


获取 PluginVersion ()

getPluginVersion() => Promise<{ version: string; }>

获取本地 Capacitor 插件版本 .

回返情况: Promise<{ version: string; }>

自: 1.0.0 (单位:千美元)


接口

输入工作站模式选项

可选旗帜 enterKioskMode。 。 。 .

Prop类型说明
restoreAfterRebootboolean重启后,请启动应用程序,以便您打电话 enterKioskMode() 再来一次 只做最好的(OEM行为,强制-停止). 关闭保存值 。 呼叫时清除 exitKioskMode()。 。 。 .
relaunchboolean定期尝试将应用带入前景. 屏幕关闭时跳过 。 经常从某些装置的背景中被阻断——作为默认的发射装置,放宽电池限制,并允许精确的警报(必要时)提高概率。 关闭保存值 .
relaunchIntervalMinutesnumber重新开始尝试之间的分钟 relaunch 开始 范围 5-60; 默认 15.

允许键选项

工作站模式下允许的硬件密钥配置选项 .

Prop类型说明默认
volumeUpboolean允许音量向上按钮false
volumeDownboolean允许音量下调按钮false
backboolean允许后键false
homeboolean允许家用按钮false
recentboolean允许最近的应用程序按钮false
powerboolean允许电源按钮false
cameraboolean允许相机按钮( 如果存在)false
menuboolean允许菜单按钮( 如果存在)false

Android 配置

1. 主要活动设置

要启用全硬件密钥屏蔽, 您需要覆盖 dispatchKeyEvent 在你身边 MainActivity.java数字 :

import android.view.KeyEvent;
import ee.forgr.plugin.android_kiosk.CapacitorAndroidKioskPlugin;

public class MainActivity extends BridgeActivity {
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        // Get the kiosk plugin
        CapacitorAndroidKioskPlugin kioskPlugin = (CapacitorAndroidKioskPlugin)
            this.getBridge().getPlugin("CapacitorAndroidKiosk").getInstance();

        if (kioskPlugin != null && kioskPlugin.shouldBlockKey(event.getKeyCode())) {
            return true; // Block the key
        }

        return super.dispatchKeyEvent(event);
    }

    @Override
    public void onBackPressed() {
        // Don't call super.onBackPressed() to disable back button
        // Or call the plugin's handleOnBackPressed
    }
}

2. AndroidManifest.xml 互联网档案馆的存檔,存档日期2013-12-02

添加启动器意图过滤器使您的应用程序可以选择为启动器 :

<activity
    android:name=".MainActivity"
    ...>

    <!-- Existing intent filter -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <!-- Add this to make app selectable as launcher -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

重要说明

  1. 发射装置要求:对于完整的站台模式功能(屏蔽出家按钮,防止任务切换),您的应用程序必须被设定为设备发射器.

  2. 测试:在测试时,您可以在程序上退出站台模式,或者通过设置另一个应用作为发射器.

  3. Android 版本:插件为Android 11+使用现代Android API,并回落到更古老的方法来与Android 6.0+相兼容.

  4. 警卫: 此插件是为合法的站台应用程序而设计的. 确保您为用户提供退出站模式的方法 .

  5. 电池: Kiosk 模式保持屏幕打开. 考虑执行您的屏幕超时或亮度管理 .

iOS 选项

对于iOS设备,使用内置设备 引导访问 特性 :

  1. 转到设置 > 无障碍 > 引导访问
  2. 打开有指引的访问
  3. 设置密码
  4. 打开你的应用
  5. 三击侧键
  6. 调整设置并开始引导访问

捐款

见 捐款额

许可证

麻省理工学院

作者

马丁·多纳迪厄 马丁@ capgo.app

版本与发布记录

@capgo/capacitor-android-kiosk 共发布 26 个版本,首次发布于 2025/11/06;过去 12 个月发布了 25 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.3.3latest2026/10/1525 天前
8.3.22026/10/1327 天前
8.3.12026/10/091 个月前
8.3.02026/10/081 个月前
8.2.122026/10/081 个月前
8.2.112026/10/081 个月前

关于 @capgo/capacitor-android-kiosk 的常见问题

@capgo/capacitor-android-kiosk 是什么?

Capacitor 的Android Kiosk模式插件 - 将设备锁入有发射器功能的站点模式

如何安装 @capgo/capacitor-android-kiosk?

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

@capgo/capacitor-android-kiosk 支持 TypeScript 吗?

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

@capgo/capacitor-android-kiosk 支持 ESM 还是 CommonJS?

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

@capgo/capacitor-android-kiosk 可以商用吗?

@capgo/capacitor-android-kiosk 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@capgo/capacitor-android-kiosk 的下载量有多少?

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

@capgo/capacitor-android-kiosk 还在维护吗?

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