Estoy en el proceso de evaluar si y cómo una aplicación empresarial CF .NET se puede portar para ejecutarse en dispositivos Android. La aplicación en los teléfonos con Windows Mobile se ejecuta en modo quiosco, donde la aplicación se inicia automáticamente en modo de pantalla completa después de arrancar y los usuarios no pueden acceder de forma accidental o voluntaria a otras partes del teléfono.
¿Es posible en Android tener solo una aplicación que se inicie automáticamente después de arrancar y evitar que los usuarios accedan accidentalmente (o voluntariamente) a otras partes del dispositivo Android?
android
kiosk
kiosk-mode
Erik H
fuente
fuente
Respuestas:
Puede iniciar aplicaciones automáticamente al arrancar escuchando la
android.intent.action.BOOT_COMPLETED
intención en un BroadcastReceiver e iniciar su actividad desde allí. En la Actividad puedes registrarte como la nueva pantalla de inicio predeterminada [1] y manejar las claves.Creo que hay algunos casos que no puede manejar sin modificar el marco (como presionar prolongadamente en Inicio para mostrar las aplicaciones actualmente activas); sin embargo, también podría estar equivocado.
Pero para un prototipo eso podría ser suficiente.
¡Diviértete jugando!
[1]:
fuente
Puede personalizar esto (deshabilitar el acceso al menú, limitar la adición de aplicaciones, etc.) para habilitar el quiosco. http://code.google.com/p/android-launcher-plus/
fuente
En la nueva versión preliminar de Android L, Google ha anunciado el bloqueo de tareas , que hace exactamente eso. Sin embargo, parece necesitar root.
fuente
Después de buscar esto por un tiempo, se me ocurrió una buena solución. Sin embargo, esto solo funciona en dispositivos rooteados, pero supongo que si es solo para esta aplicación, entonces rootearla no debería ser un problema.
Convierta su aplicación en el lanzador agregando
a tu filtro de intención
Asegúrese de que su aplicación colapse la barra de herramientas para que no pueda llegar a la barra de notificaciones, consulte ¿Cómo deshabilitar la barra de estado / barra de notificaciones en Android mediante programación? o http://blog.vogella.com/2011/02/28/android-hidding-the-status-and-title-bar/
Luego, para evitar que otros programas se abran por error, use un servicio de accesibilidad para verificar el estado de la ventana cambiado, compare el paquete con una lista blanca o negra y use ActivityManager.killBackgroundProcesses para matar si no debería ejecutarse.
Consulte también http://thebitplague.wordpress.com/2013/04/05/kiosk-mode-on-the-nexus-7/ para ver otra forma
fuente
Iniciando su aplicación en el arranque
la MEJOR manera de lograr esto es configurar su aplicación como lanzador
Bloquear tu aplicación
la forma más confiable es usar un dispositivo con Lollipop o superior y hacer uso de
primero debe configurar su aplicación como propietario del dispositivo. Nota: su dispositivo debe estar desaprovisionado: si lo registró, debe realizar un restablecimiento de fábrica y omitir el registro de la cuenta.
Para poder registrar su aplicación, primero debe configurar un componente DeviceAdminReceiver:
una vez que tenga un dispositivo sin aprovisionar, puede ejecutar el siguiente comando desde adb ( no se requiere root )
para evitar que Android le pida permisos al usuario para anclar su aplicación, debe llamar a setLockTaskPackages
¡finalmente!
fuente
Google lanzó recientemente la API de administración de Android que permite configurar fácilmente el modo kiosco para cualquier dispositivo Android que ejecute Android 5.1 o superior, y también establecer varias otras políticas.
fuente
Configurar dispositivos de un solo propósito La página del desarrollador de Android ha descrito estas cosas que puede conocer fácilmente desde allí.
Ahora es fácil configurar Android 6.0 Marshmallow y dispositivos posteriores como dispositivos corporativos de un solo uso (COSU).
fuente
Encontré otra técnica posible en esta publicación del foro . Citando esa publicación:
http://www.basic4ppc.com/forum/basic4android-getting-started-tutorials/10839-android-kiosk-mode-tutorial.html
También parece haber un archivo ZIP de código de modo quiosco de ejemplo disponible para descargar .
fuente
El marco Xposed puede hacer esto. Necesita root y existe la posibilidad de que no funcione en todas y cada una de las plataformas. Busque el método disable () en la clase android.app.StatusBarManager .
Aquí en el código fuente de Android
Mira aquí cómo escribir tu propio módulo: tutorial de desarrollo de Xposed
Es mucho más fácil de lo que cree a primera vista. ¡Buena suerte!
fuente
Junto con la configuración de su aplicación con un receptor BOOT, y esta respuesta para evitar la expansión de la barra de estado, esta solución funciona en 4.4 y versiones posteriores como una aplicación de kiosco completa:
Coloque en su onCreate ():
Esto ocultará completamente el botón de retroceso, las aplicaciones y el botón de inicio.
fuente