跳转至正文

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 插件预览 QR code

使用 @capgo/capacitor-android-kiosk

Capacitor Android Kiosk 插件用于控制 Kiosk 模式和 Launcher 功能。此插件仅限 Android 使用。如需 iOS 的 Kiosk 模式,请使用设备的 Guided Access 功能。

安装

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

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

导入

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

API 概览

方法 描述
isInKioskMode 检查应用当前是否正处于 Kiosk 模式运行。
isSetAsLauncher 检查应用是否已被设置为设备启动器(Home 应用)。
enterKioskMode 进入 Kiosk 模式,隐藏系统 UI 并禁用硬件按键。同时启动前台保活服务,降低应用被系统杀掉的概率。为确保效果,应用必须被设置为设备启动器。
exitKioskMode 退出 Kiosk 模式,恢复正常的系统 UI 和硬件按键功能。同时停止由 enterKioskMode() 启动的前台保活服务。
setAsLauncher 打开设备的桌面设置,允许用户将此应用设为启动器。这是实现完整 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()

检查应用是否已被设置为设备启动器(Home 应用)。

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

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

enterKioskMode()

进入 Kiosk 模式,隐藏系统 UI 并禁用硬件按键。同时启动前台保活服务,降低应用被系统杀掉的概率。为确保效果,应用必须被设置为设备启动器。

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()

打开设备的桌面设置,允许用户将此应用设为启动器。这是实现完整 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 概览中的实现细节, 简介 关于简介中的实现细节,以及 API 密钥 关于 API 密钥中的实现细节。

常见问题

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 报告或 Pull Request。

我可以在无需经过 App Store 审核的情况下,更新使用了 Android Kiosk 的 code 吗?

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

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

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

立即开始使用 Capgo