跳转至正文

Android Kiosk 模式 Capacitor 插件

通过启动器功能和硬件按键控制,将 Android 设备锁定在 Kiosk 模式

安装

bun add @capgo/capacitor-android-kiosk bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-android-kiosk
  • pnpm add @capgo/capacitor-android-kiosk
  • yarn add @capgo/capacitor-android-kiosk

指南

如何在 Capacitor 中使用 Android Kiosk

在设备上测试

下载 Capgo App,然后扫描二维码 code。

Android Kiosk 插件预览二维码 code

使用 @capgo/capacitor-android-kiosk

Capacitor Android Kiosk 插件,用于控制 Kiosk 模式和启动器功能。此插件仅支持 Android。对于 iOS 的 Kiosk 模式,请使用设备的“引导式访问”功能。

安装

bun add @capgo/capacitor-android-kiosk
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

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

API 概览

方法 描述
isInKioskMode 检查应用当前是否正在 Kiosk 模式下运行。
isSetAsLauncher 检查应用是否已设为设备启动器(主屏幕应用)。
enterKioskMode 进入 Kiosk 模式,隐藏系统 UI 并屏蔽硬件按键。同时启动前台保活服务,降低应用被系统杀掉的概率。必须将应用设为设备 Launcher,此功能才能有效工作。
exitKioskMode 退出 Kiosk 模式,恢复正常的系统 UI 和硬件按键功能。同时停止由 enterKioskMode() 启动的前台保活服务。
setAsLauncher 打开设备的桌面设置,让用户可以将此应用设为 Launcher。这是完整 Kiosk 模式功能所必需的。
setAllowedKeys 设置 Kiosk 模式下允许使用的硬件按键。默认情况下,Kiosk 模式会屏蔽所有硬件按键。

示例

isInKioskMode()

检查应用当前是否正在 Kiosk 模式下运行。

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

const { isInKioskMode } = await CapacitorAndroidKiosk.isInKioskMode();
console.log('Kiosk mode active:', isInKioskMode);

isSetAsLauncher()

检查应用是否已设为设备启动器(主屏幕应用)。

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

const { isLauncher } = await CapacitorAndroidKiosk.isSetAsLauncher();
console.log('Is launcher:', isLauncher);

enterKioskMode()

进入 Kiosk 模式,隐藏系统 UI 并屏蔽硬件按键。同时启动前台保活服务,降低应用被系统杀掉的概率。必须将应用设为设备 Launcher,此功能才能有效工作。

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

await CapacitorAndroidKiosk.enterKioskMode();

exitKioskMode()

退出 Kiosk 模式,恢复正常的系统 UI 和硬件按键功能。同时停止由 enterKioskMode() 启动的前台保活服务。

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

await CapacitorAndroidKiosk.exitKioskMode();
console.log('Exited kiosk mode');

setAsLauncher()

打开设备的桌面设置,让用户可以将此应用设为 Launcher。这是完整 Kiosk 模式功能所必需的。

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

await CapacitorAndroidKiosk.setAsLauncher();
// User will be prompted to select this app as the home app

setAllowedKeys()

设置 Kiosk 模式下允许使用的硬件按键。默认情况下,Kiosk 模式会屏蔽所有硬件按键。

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

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

完整参考文档

继续使用 @capgo/capacitor-android-kiosk

如果你正在使用 使用 @capgo/capacitor-android-kiosk 要规划 dashboard 和 API 操作,请将其连接到 @capgo/capacitor-android-kiosk 有关 @capgo/capacitor-android-kiosk 的实现细节, 快速入门 有关“入门指南”中的实现细节, API 概览 关于 API Overview 中的实现细节, 简介 关于简介中的实现细节,以及 API 密钥 关于 API Keys 中的实现细节。

常见问题

Android Kiosk 插件常见问题

如何在 Capacitor 应用中安装 Android Kiosk 插件?

运行 "bun add @capgo/capacitor-android-kiosk"(或 "npm install @capgo/capacitor-android-kiosk"),然后运行 "bunx cap sync",以便 iOS 和 Android 项目获取原生 code。在您的应用 code 中从 "@capgo/capacitor-android-kiosk" 导入它。

@capgo/capacitor-android-kiosk 支持 React、Vue 和 Angular 吗?

支持。Android Kiosk 是一个 Capacitor 包,因此适用于任何在 Capacitor 内运行的 Web 框架,包括 Ionic、React、Vue、Angular、Svelte 和纯 JavaScript。

@capgo/capacitor-android-kiosk 支持哪个版本的 Capacitor?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-android-kiosk 是免费开源的吗?

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-android-kiosk/,该软件包可从 npm 免费安装。欢迎提交 Bug 报告和 PR。

使用 Android Kiosk 的 code 可以在不经过 App Store 审核的情况下更新吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待应用审核,即可发布 Android Kiosk 变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo