Zum Inhalt springen

Einstieg

Terminalfenster
bun add @capgo/capacitor-android-kiosk
bunx cap sync
import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';

Überprüft, ob die App derzeit im Kiosk-Modus läuft.

import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';
const { isInKioskMode } = await CapacitorAndroidKiosk.isInKioskMode();
console.log('Kiosk mode active:', isInKioskMode);

Überprüft, ob die App als Geräte-Startseite (Home-App) festgelegt ist.

import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';
const { isLauncher } = await CapacitorAndroidKiosk.isSetAsLauncher();
console.log('Is launcher:', isLauncher);

Schaltet den Kiosk-Modus ein, versteckt die System-UI und blockiert die Hardware-Tasten. Außerdem startet ein Hintergrund-Dienst, der dafür sorgt, dass die App weniger wahrscheinlich vom System beendet wird. Die App muss als Geräte-Startseite festgelegt sein, damit dies effektiv funktioniert.

import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';
await CapacitorAndroidKiosk.enterKioskMode();

Beendet das Kiosk-Modus, wodurch die normale System-UI und die Funktionalität der Hardware-Tasten wiederhergestellt werden. Außerdem wird der Hintergrund-Keep-alive-Dienst, der in enterKioskMode() gestartet wurde, gestoppt.

import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';
await CapacitorAndroidKiosk.exitKioskMode();
console.log('Exited kiosk mode');

Öffnet die Einstellungen der Geräte-Home-Screen, um dem Benutzer zu ermöglichen, diese App als Launcher zu setzen. Dies ist erforderlich für die volle Kiosk-Modus-Funktionalität.

import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';
await CapacitorAndroidKiosk.setAsLauncher();
// User will be prompted to select this app as the home app

Legt fest, welche Hardware-Tasten in Kiosk-Modus funktionieren dürfen. Standardmäßig werden alle Hardware-Tasten in Kiosk-Modus blockiert.

import { CapacitorAndroidKiosk } from '@capgo/capacitor-android-kiosk';
// Allow volume keys only
await CapacitorAndroidKiosk.setAllowedKeys({
volumeUp: true,
volumeDown: true,
back: false,
home: false,
recent: false
});

Optional Flags für enterKioskMode.

export interface EnterKioskModeOptions {
/**
* After reboot, start the app so you can call `enterKioskMode()` again. Best-effort only (OEM
* behavior, force-stop). Omit to keep the saved value. Cleared when you call `exitKioskMode()`.
*/
restoreAfterReboot?: boolean;
/**
* Periodically tries to bring the app to the foreground. Skipped while the screen is off. Often
* blocked from the background on some devices—being the default launcher, relaxing battery limits,
* and allowing exact alarms (where required) improve odds. Omit to keep the saved value.
*/
relaunch?: boolean;
/** Minutes between relaunch attempts when `relaunch` is on. Range 5–60; default 15. */
relaunchIntervalMinutes?: number;
}

Konfigurationsmöglichkeiten für zulässige Hardware-Tasten in Kiosk-Modus.

export interface AllowedKeysOptions {
/**
* Allow volume up button
* @default false
*/
volumeUp?: boolean;
/**
* Allow volume down button
* @default false
*/
volumeDown?: boolean;
/**
* Allow back button
* @default false
*/
back?: boolean;
/**
* Allow home button
* @default false
*/
home?: boolean;
/**
* Allow recent apps button
* @default false
*/
recent?: boolean;
/**
* Allow power button
* @default false
*/
power?: boolean;
/**
* Allow camera button (if present)
* @default false
*/
camera?: boolean;
/**
* Allow menu button (if present)
* @default false
*/
menu?: boolean;
}

Diese Seite wurde aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisierung, wenn die öffentliche API upstream geändert wird.