跳过主要内容

安卓 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/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 检查应用程序是否当前正在运行在全屏模式。
isSetAsLauncher 检查应用程序是否设置为设备启动器(主屏幕应用)。
enterKioskMode 进入全屏模式,隐藏系统UI并阻止硬件按钮。同时启动前台保持活动服务,以便应用程序更不容易被系统杀死。应用程序必须设置为设备启动器,这样才能有效地工作。
exitKioskMode 退出全屏模式,恢复正常的系统UI和硬件按钮功能。同时停止前台保持活动服务,启动时在enterKioskMode()中启动。
setAsLauncher 打开设备的主屏幕设置,以允许用户将此应用设置为启动器。这对于全屏模式功能的完全实现是必需的。
setAllowedKeys 设置在全屏模式下允许功能的硬件键。默认情况下,全屏模式下所有硬件键都被阻止。

示例

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 并阻止硬件按钮。同时启动前台保持活动服务,以便应用更不容易被系统杀死。应用必须设置为设备启动器,这样才能有效地工作。

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 规划@API/__CAPGO_KEEP_1__-android-kiosk仪表板和API操作,连接它 @capgo/capacitor-安卓桌面版 查看@capgo/capacitor-android-kiosk的实现细节 开始 查看开始的实现细节 API概述 查看API概述的实现细节 介绍 查看介绍的实现细节 API密钥 查看API密钥的实现细节

常见问题

安卓锁屏插件常见问题

如何在Capacitor应用中安装安卓锁屏插件?

运行 "bun add @capgo/capacitor-android-kiosk" (或 "npm install @capgo/capacitor-android-kiosk"), 然后运行 "bunx cap sync" 以便 iOS 和 Android 项目能够接收到本地 code。 从 "@capgo/capacitor-android-kiosk" 中导入它到您的应用程序 code 中。

是否 @capgo/capacitor-android-kiosk 与 React、Vue 和 Angular 兼容?

是。 Android Kiosk 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

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

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 请求。

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

安装或升级插件会更改本地 code,因此需要一个新的商店构建。 之后,JavaScript、HTML 和 CSS 的更改可以立即通过 Capgo 的实时更新发布。

无需等待应用程序审查即可将 Android Kiosk 更改推送到生产环境

一旦插件在您的商店构建中,Capgo 即刻将您的 JavaScript、HTML 和 CSS 更改推送给用户

开始使用 Capgo