Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo desactivar el bloqueo de teclado y mostrar una actividad al usuario cuando se dispara el receptor de SCREEN_ON?

¿Cómo puedo desactivar el bloqueo de teclado cuando un receptor de difusión está activado por screen_on, de modo que cuando ocurre el usuario ve una actividad que he iniciado detrás de ella? (La actividad ya se está ejecutando …)

He estado intentando el código siguiente de un receptor de la difusión accionado por la pantalla apagado …

KeyguardManager myKeyGuard = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); myLock = myKeyGuard.newKeyguardLock(); myLock.disableKeyguard(); 

No parece estar funcionando bien como es. Cuando enciendo la pantalla, todavía tengo que desbloquear manualmente el bloqueo de teclado en el teléfono para revelar la actividad detrás de él.

  • Soft teclado sin EditText y la detección de pulsaciones de teclas
  • WebView oculta el teclado virtual durante loadUrl (), lo que significa que un teclado no puede permanecer abierto mientras llama a javascript
  • Android ScrollView no se desplaza cuando el teclado está hacia arriba
  • Android: inputType = "textEmailAddress" - tecla '@' y una tecla '.com'?
  • Android - tecla de teclado personalizada y acción
  • Teclado bluetooth causará actividad destruir y recrear
  • Problemas de teclado surgidos en el cambio de orientación
  • Cómo hacer un teclado en pantalla curvo para Android
  • 3 Solutions collect form web for “¿Cómo desactivar el bloqueo de teclado y mostrar una actividad al usuario cuando se dispara el receptor de SCREEN_ON?”

    Yo recomendaría usar las banderas de la ventana dismiss_keyguard o show_when_locked si usted tiene una ventana que necesita venir sobre la tapa de la derecha del lockscreen en el wakeup.

    http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED

    Cómo se utiliza esto es como sigue (llamado en onCreate antes de configurar el diseño)

     getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 

    Creo que me di cuenta de lo que hice mal. Parece que fue sólo un error de etiqueta en mi manifiesto cuando se utiliza el permiso disable_keyguard. Está funcionando correctamente ahora que he corregido el manifiesto.

    No estoy viendo el trabajo de la solución Keyguard (y se ha desaprobado). Lo que funciona para mí es agarrar un permanente PARTIAL_WAKE_LOCK que nunca lanzar. Esto impide que el dispositivo realmente se quede dormido y evita así la pantalla de bloqueo cada ser activado.

    Luego, cada vez que se apaga la pantalla, escucho la notificación y reactivo el dispositivo. Funciona en todos los dispositivos en los que he probado.

    Me doy cuenta de que esto va a matar la batería del dispositivo bastante rápido, así que, tienes que usar esto muy con moderación y atentamente.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.