Android – ¿Es posible desactivar el botón de clic de inicio

Tengo una aplicación, cuando se lanza tengo que deshabilitar todos los botones en el dispositivo Android, he tenido éxito en la desactivación final de llamadas y otros. Necesito desactivar el botón de inicio del botón. No debe producir ninguna acción en el tecleo.

Cualquier sugerencia muy apreciada

Estoy seguro de que Toddler Lock sólo utiliza un BroadcastReciever y escucha Intent.ACTION_MAIN y la categoría Intent.CATEGORY_HOME – por eso, cuando lo Intent.CATEGORY_HOME por primera vez, te indica que debes marcar la casilla "usar esta aplicación como predeterminada" y hacerte Seleccione el bloqueo del niño pequeño.

Por lo tanto, no está realmente bloqueando el botón Inicio en absoluto, sino que se está configurando como el receptor de difusión predeterminado para:

 Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME); 

Cuando se inicia Lock Toddler, que probablemente establece una bandera interna, y si presiona el botón de inicio, sólo trae la ventana al frente. Si la bandera no está establecida, es probable que lance Launcher explícitamente.

Espero que tenga sentido. Es sólo una teoría, pero estoy casi 100% seguro de que así es como se hace.

Agregue el código siguiente a su actividad:

 @override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); } 

Editar:

Esto funciona en todas las versiones anteriores de android. Pero no funcionará en ICS y jelly bean y te dará un crash en la aplicación

¿Qué significa este código java de 4 líneas en la aplicación android?

Añada esto en su manifest.xml para su actividad principal:

 <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> 

El botón HOME siempre reanudará su actividad. Trabajos en Froyo.

Aquí puedes encontrar mi aplicación de ejemplo para Android que persiste en la página principal. Los botones Inicio, Atrás, Llamar, Alimentación están desactivados. El usuario sólo puede finalizar la aplicación escribiendo una contraseña.

Encontré una forma de abordar la clave HOME. Para su aplicación, establezca el manifiesto como

 <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.MONKEY"/> 

Ahora ur la aplicación es una aplicación de lanzador alternativo.

Utilice el adb y desactive la aplicación del lanzador mediante el administrador de paquetes

 pm disable com.android.launcher2 

Ahora la tecla de inicio de prensa permanecerá en la misma pantalla.

Una adición más al poste de Jeffreys, aquí es algo que trabajó para mí (y todavía permite el tema translúcido)

 @Override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); super.onAttachedToWindow(); } 

Debido a que hace que el bloqueo de teclado aparezca, también podría desactivar el bloqueo de teclado mientras la aplicación está en uso:

 KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE); KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); lock.disableKeyguard(); 

Esto funciona muy bien para hacer tu propia aplicación de protección de teclado.

  • ¿Hay una manera de mostrar la barra de desplazamiento de ListView todo el tiempo?
  • Entrada de funciones matemáticas como, logos coseno-tangentes en Android
  • Implementar ListView en el widget de pantalla de inicio
  • Android TextView id con una variable?
  • Obtener minWidth (appwidget-provider) en todos los dispositivos, teléfonos y tablets
  • Cómo configurar el enfoque a la derecha del texto en EditText para android?
  • Android: EditText no puede obtener el foco después de volver a habilitarse
  • Obtener elementos seleccionados de ListView con casilla de verificación
  • ¿Cómo evitar la pantalla en negro en Android mientras mi aplicación se está cargando?
  • Cómo incrustar una vista (con botones, etc) dentro de un EditText?
  • No se puede cambiar el tamaño del texto del pulgar del widget SwitchCompat
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.