Iniciar actividad externa mientras el teléfono está bloqueado
Quiero poder iniciar una actividad que no es parte de mi aplicación mientras el dispositivo está bloqueado con contraseña. ¿Cómo podría hacer esto, si es posible?
Nota: Soy muy consciente de poner getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
Dentro de la onCreate
de mi actividad. Esto no funcionará, sin embargo, ya que no estoy comenzando mi propia actividad, sino una tercera parte que está fuera de mi aplicación.
- Cómo evitar el evento de pantalla de bloqueo durante la prueba de mono
- ¿Cómo bloquear mediante programación la pantalla en Android?
- La pantalla de bloqueo para Android no funciona correctamente con Android
- La pantalla de bloqueo se muestra entre las actividades
- Mostrar texto del ticker de notificación de la barra de estado cuando la pantalla está bloqueada en Android
- ¿Cree la lockscreen personalizada para android 4.0 o arriba?
- Interrupción del botón de inicio en android
- track / count intento de desbloqueo realizado en patrón
- Lockscreen de Android ICS nativo
- Notificación de la pantalla de bloqueo de Android Facebook
- ¿Cómo iniciar una nueva actividad desde lockscreen?
- Una forma de obtener captura doble toque en la pantalla de bloqueo de Android?
- Controles del reproductor de medios en la notificación
No funcionará si intenta iniciar una aplicación de terceros en la pantalla de bloqueo. Como te has observado, necesitas establecer el indicador de ventana para asegurar que la actividad se lance sobre la pantalla de bloqueo, no hay forma de asegurar que la actividad de otra aplicación de terceros también está estableciendo el mismo indicador.
En caso de que usted está construyendo un paquete de características donde cada característica no es otra cosa que una aplicación diferente, entonces usted tendrá que asegurarse de que todos los puntos de entrada de la característica de establecer este indicador de la ventana. Lo mejor sería declarar una BaseActivity que establece la bandera adecuada en la creación y dejar que todo el equipo de dev de la característica utilizar esto como clase base para los puntos de entrada.
Anular la función
public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); }
Esto hará que su actividad sea visible después del desbloqueo.
Esto sólo es posible si el desarrollador real ha escrito código anulando el método onAttachedToWindow()
en la actividad que está intentando abrir desde su aplicación.
Si no, entonces, lo siento decirlo, pero usted no tiene ninguna opción para hacer lo que usted está intentando hacer (en cuanto a las APIs recientes va)
- ¿Cómo saber el WiFi conectado es Walled Gardened (Captive Portal)?
- Carga de vídeo a Google Drive mediante programación (API de Android)