AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones específicas para móviles / Funciones Kiosco
  • Presentación
  • Android y el modo kiosco
  • Presentación
  • Modo kiosco simple
  • Modo kiosco completo
  • ¿Cómo utilizar el modo kiosco simple en una aplicación WINDEV Mobile?
  • ¿Cómo proceder?
  • Observaciones
  • ¿Cómo utilizar el modo kiosco completo en una aplicación WINDEV Mobile?
  • ¿Cómo proceder?
  • Línea de mandos para activar el modo kiosco completo
  • ¿Cómo probar una aplicación usando el modo kiosco completo?
  • Observaciones sobre el modo kiosco completo
  • Consejos y programación
  • Consejos
  • Funciones WLanguage relacionadas con el uso del modo kiosco
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Una aplicación en modo kiosco es una aplicación de la que el usuario no puede salir. Cuando una aplicación está en modo kiosco, el usuario no puede abrir otras aplicaciones, no tiene acceso a la configuración del dispositivo, y no ve ni recibe notificaciones ni llamadas.
Se utiliza en diferentes casos: aplicación de demostración, aplicación de kiosco digital, aplicación para niños, aplicación diseñada para una tarea en particular, etc.
Android y el modo kiosco

Presentación

Desde Android 5.0, existen dos opciones para crear una aplicación en modo kiosco:
  • modo kiosco 'simple' (funcionalidad "Screen Pinning").
  • modo kiosco 'completo'.

Modo kiosco simple

Esta funcionalidad permite, sin permisos especiales, mostrar solo una aplicación en la pantalla:
  • la barra de estado aparece vacía,
  • los íconos de las notificaciones se ocultan,
  • los botones "Inicio" y "Aplicaciones recientes" se desactivan,
  • las otras aplicaciones no pueden iniciar nueva actividades.
Esta funcionalidad puede utilizarse, por ejemplo, cuando se presta el teléfono a niños u otras personas sin que los datos personales queden expuestos.
Sin embargo, esta funcionalidad no es suficiente en la mayoría de los demás casos. De hecho:
  • se solicita una confirmación del usuario antes de pasar a este modo.
  • el usuario puede salir de este modo en cualquier momento pulsando simultáneamente las teclas "Atrás" y "Aplicaciones recientes".

Modo kiosco completo

A diferencia del modo kiosco simple:
  • el modo kiosco completo no requiere confirmación.
  • el usuario no puede salir de modo kiosco completo.
Sin embargo, este modo requiere privilegios específicos. Estos privilegios solo se pueden obtener:
  • cuando la aplicación es propietaria del dispositivo ("Device owner")
  • cuando una aplicación "device owner" otorga estos privilegios a la aplicación.
Una aplicación "Device owner" puede realizar operaciones normalmente reservadas a aplicaciones del sistema (siempre que se declaren): crear usuarios, modificar la configuración global (acceso a wifi, Bluetooth), definir políticas de seguridad, ocultar aplicaciones, y en el caso del modo kiosco: bloquear la aplicación para evitar que el usuario salga de ella.
¿Cómo utilizar el modo kiosco simple en una aplicación WINDEV Mobile?

¿Cómo proceder?

Para utilizar el modo kiosco simple:
  1. Utilice la función KioskEnable.
  2. Se muestra un mensaje de confirmación al usuario para activar o desactivar el modo kiosco.

Observaciones

  • Para saber si el modo kiosco está activado, utilice la función InKioskMode.
  • Para salir del modo kiosco, utilice la función KioskDisable.
¿Cómo utilizar el modo kiosco completo en una aplicación WINDEV Mobile?

¿Cómo proceder?

Para utilizar el modo kiosco completo:
  1. Pase la aplicación al modo "Device owner":
    • Seleccione la opción "Aplicación de administración de dispositivos (puede convertirse en "device owner" para el modo kiosco)" en la descripción de la configuración del proyecto Android.
    • Ejecute la línea de comandos para activar el modo kiosco completo (ver más abajo).
  2. Utilice la función KioskEnable en la aplicación para activar el modo kiosco.

Línea de mandos para activar el modo kiosco completo

Después de instalar la aplicación en el dispositivo Android, ejecute el siguiente comando ADB en el dispositivo en el que está instalada la aplicación:
adb shell dpm set-device-owner
<package>/fr.pcsoft.wdjava.core.application.WDDeviceAdminReceiver
donde:
<Paquete> corresponde al nombre del paquete de la aplicación Android.
Este comando crea una entrada en el archivo "/data/system/ device_owner.xml" que define la aplicación como "Device owner".
Observación: Solo puede haber una aplicación en modo "Device owner" por dispositivo y esta operación solo es posible si no se ha configurado ningún usuario en el dispositivo. De lo contrario, se deben eliminar todos los usuarios antes de ejecutar el comando.

¿Cómo probar una aplicación usando el modo kiosco completo?

Para probar una aplicación Android usando el modo kiosco completo, se recomienda realizar una prueba en el emulador. Después, se puede reiniciar el emulador para probar otras aplicaciones.
A partir de Android 7.0, se puede indicar que la aplicación solo se utiliza con fines de prueba al generar la aplicación Android.
WINDEV Mobile propone esta opción en el asistente de generación de aplicaciones Android si:
  • se seleccionó la opción "Aplicación de administración de dispositivos (puede convertirse en "device owner" para el modo kiosco)" en la ventana de descripción de la configuración Android.
  • no se firmó la aplicación para la tienda durante la generación.
Esta opción consiste en utilizar "android:testOnly=true" en el manifiesto de la aplicación.
En este caso, después de realizar las pruebas en el dispositivo móvil, se puede desactivar el modo "Device owner" con la siguiente línea de comandos:
adb shell dpm remove-active-admin <package>/fr.pcsoft.wdjava.core.application.WDDeviceAdminReceiver
Se recomienda activar esta opción durante la fase de pruebas de la aplicación. No se puede implementar una aplicación de pruebas en el Play Store.

Observaciones sobre el modo kiosco completo

  • Una vez que se ha definido una aplicación como "Device owner", no se puede desactivar este modo, ni eliminar la aplicación. Solo al restablecer la configuración de fábrica (factory reset), se puede eliminar la aplicación.
  • Para actualizar una aplicación en modo "Device owner", es necesario firmarla con la misma clave utilizada cuando se activó el modo.
  • La función InDeviceOwnerMode permite saber si la aplicación es "Dvice owner".
  • Para saber si el modo kiosco está activado, utilice la función InKioskMode.
  • Para salir del modo kiosco, utilice la función KioskDisable.
Consejos y programación

Consejos

  • Se recomienda definir una manera para salir del modo kiosco (opción de menú accesible mediante una contraseña, etc.).
  • Si se reinicia el sistema (problema de batería, etc.), el modo kiosco no se mantendrá la próxima vez que se inicie la aplicación. Recuerde :
    • Reiniciar automáticamente la aplicación: seleccione la opción "Iniciar automáticamente la aplicación al iniciar el dispositivo" en el asistente de generación de la aplicación Android.
    • Guardar el modo de la aplicación (modo kiosco o no) para que la próxima vez que se inicie la aplicación, este modo esté configurado de forma predeterminada (utilice las funciones SaveParameter y LoadParameter en el evento "Inicialización" del proyecto).
    • Si es necesario, vuelva a activar el modo kiosco (función KioskEnable en el evento "Inicialización" del proyecto).

Funciones WLanguage relacionadas con el uso del modo kiosco

InDeviceOwnerModeIndica si la aplicación Android está en modo "Device owner".
InKioskModeIndica si la aplicación Android está en modo kiosco.
KioskDisableDesactiva el modo kiosco para la aplicación actual.
KioskEnableCambia la aplicación Android en curso a modo kiosco.
Versión mínima requerida
  • Versión 25
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/03/2023

Señalar un error o enviar una sugerencia | Ayuda local