2011-11-22 13 views
13

Estoy haciendo una aplicación que se debe utilizar en una tienda que muestra información del producto. Uso una tableta Android para proporcionar al cliente información interactiva. El usuario no debería poder hacer nada más con la tableta.Anular o desactivar el menú de configuración

Hasta ahora he logrado desactivar la parte posterior y el botón de inicio. La aplicación comienza cuando el arranque del dispositivo ha finalizado. Por lo tanto, no puede iniciar ninguna otra aplicación cuando reinicia el dispositivo (no pude evitar que el usuario reinicie el dispositivo).

El problema es que el cliente puede abrir el menú de configuración y forzar la cancelación de mi aplicación.

¿Hay alguna manera de deshabilitar el menú de configuración (por ejemplo, protegiéndolo con una contraseña) o anularlo por mi aplicación?

No planeo agregar mi aplicación al mercado de Android ya que solo debería ejecutarse en las tiendas.

+0

¿Funcionarán aplicaciones de terceros? luego intente AppLock – Eswar

Respuesta

24

Descubrí cómo sobrescribir el menú de configuración.

Desde el menú de configuración se abre a través de una intención implícita sólo hay que añadir la intención correcta filtros Mi actividad:

<intent-filter > 
    <action android:name="android.settings.SETTINGS" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
<intent-filter > 
    <action android:name="android.settings.WIRELESS_SETTINGS" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

Esto permitirá que el usuario eligió la configuración de la aplicación que quiere abrir. Si ahora configuro mi actividad como predeterminada, el usuario no puede acceder al menú de configuración a través de la barra de estado.

+0

Funcionó muy bien en mi Lenovo YT3-850F, Lollipop 5.1.1. – Storo

+0

es. sólo. increíble. –

+0

@ js- Estoy intentando crear un iniciador personalizado para mi dispositivo y quiero eliminar la posibilidad de cambiar el iniciador, excepto por un administrador. ¿Hay alguna manera de eliminar programáticamente la configuración de HOME de la aplicación de Configuración? ¿O eliminar la posibilidad de acceder a la aplicación Configuración todos juntos? No quiero que el usuario pueda volver al iniciador predeterminado de Android. –

0

Estoy bastante seguro de que no puede deshabilitar el menú de configuración todos juntos.

Lo que podría hacer es buscar algo así como quitar la barra de estado (la que está en la parte inferior).

Echa un vistazo a algo como: TabletBar Hider. No lo he probado, y también requeriría que encuentre una manera de hacer que su aplicación se ejecute de esta manera o de implementarla en su aplicación. Si la barra de estado se oculta tan pronto como se inicia la aplicación, no veo cómo se podría acceder al menú de configuración.

Puede consultar this para obtener la pantalla completa (pero no sé si ya lo ha intentado/considerado).

+0

Rootear los dispositivos no es una opción. Sé cómo desactivar la barra de estado manualmente mediante la eliminación de systemUi, pero para el uso diario es demasiado complicado y debe hacerse después de cada inicio del dispositivo. Entonces tengo el problema de que el cliente puede reiniciar el dispositivo que no puedo suprimir. –

+0

Su segundo enlace para obtener pantalla completa funciona solo para la versión de Android <3.0. Como uso tabletas que tienen Android 3.2, esto no funciona. –

Cuestiones relacionadas