Configuración del modo quiosco del terminal
Esta guía explica cómo usar PeripheralsLib para establecer las configuraciones del “Modo Quiosco” en el terminal. Esto te permite restringir la navegación del usuario y configurar una aplicación launcher predeterminada.
Estas configuraciones pueden bloquear el uso normal del dispositivo (por ejemplo, ocultando las barras de navegación). Asegúrate siempre de tener un mecanismo dentro de tu aplicación para desactivar estas restricciones o un método alternativo para salir de la aplicación durante el desarrollo.
Objeto de configuración: MSG8210
La configuración se gestiona a través del objeto MSG8210. Debes establecer las propiedades de este objeto antes de pasarlo al manager.
Propiedades
| Propiedad | Tipo | Descripción | ¿Obligatorio? |
|---|---|---|---|
launcherAppPackage | String | ID del paquete de la aplicación a configurar como launcher predeterminado. | No (puede ser null) |
launcherAppActivity | String | Nombre de la clase de la Activity principal (Formato: Package.Activity). | No (puede ser null) |
enableStatusBar | Boolean | Si es false, la barra de estado (superior) no se puede expandir. | Sí |
enableNavigationBar | Boolean | Si es false, los botones de navegación (inferiores) están desactivados. | Sí |
showStatusBar | Boolean | Si es false, la barra de estado se oculta de la pantalla. | Sí |
showNavigationBar | Boolean | Si es false, la barra de navegación se oculta de la pantalla. | Sí |
Aplicar la configuración
Utiliza el método configTerminal para aplicar las configuraciones definidas en el objeto MSG8210.
// 1. Create and configure the settings object
MSG8210 config = new MSG8210();
// Set the default launcher (Optional)
config.launcherAppPackage = "com.mycompany.posapp";
config.launcherAppActivity = "com.mycompany.posapp.MainActivity";
// Configure UI restrictions (Mandatory)
config.enableStatusBar = false; // Prevent pulling down notifications
config.enableNavigationBar = false; // Disable back/home/recent buttons
config.showStatusBar = false; // Hide top bar
config.showNavigationBar = false; // Hide bottom bar
// 2. Apply configuration
manager.configTerminal(config, new ConfigCallback() {
@Override
public void onSuccess() {
Log.d("KioskMode", "Terminal configured successfully.");
}
@Override
public void onError(int errorCode) {
Log.e("KioskMode", "Configuration failed. Code: " + errorCode);
}
});Resolución de problemas de configuración
Si la configuración falla, el callback onError devolverá uno de los siguientes códigos:
| Código | Significado | Acción |
|---|---|---|
| -1 | Error de configuración | Comprueba si los parámetros de tu MSG8210 son válidos. |
| -2 | No soportado | El modelo de terminal o la versión del SO no soportan estas configuraciones. |
| -3 | Error de comunicación | Vuelve a intentar la operación. |
| -99 | Indeterminado | Error desconocido. Comprueba los logs del sistema. |