Iniciar la pantalla Actividad incluso si la pantalla está bloqueada en Android
Cómo iniciar una actividad en el dispositivo incluso si la pantalla está bloqueada. He intentado como a continuación, pero no funciona.
Receptor de radiodifusión:
- Eliminar Apk después de la instalación de la aplicación
- Cómo detectar los eventos de MediaPlayer de youtube desde un servicio
- Android - Receptor de SMS Broadcast
- Eventos XMPP en Android
- ¿Cómo puedo enviar un SMS desde un BroadcastReceiver y comprobar su estado?
Intent alarmIntent = new Intent("android.intent.action.MAIN"); alarmIntent.setClass(context, Alarm.class); alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); alarmIntent.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD + WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON + WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); context.startActivity(alarmIntent);
- Android - cómo hacer que mi app sms aplicación por defecto programatically
- SMS recibidos en mi aplicación de SMS y en Hangouts, aunque llamo a abortBroadcast ()
- BroadcastReceiver declarado en manifesto no está recibiendo la transmisión
- Cómo ejecutar un servicio todos los días al mediodía, y en cada inicio
- Android: Detectar eventos de cambio de actividad / aplicación
- AlarmManager activa alarmas en el pasado inmediatamente antes de que BroadcastReceiver pueda reprogramarlo
- No recibir notificaciones de notificación de pars en Android en BroadcastReceiver personalizado
- ¿Por qué mi aplicación no está en la lista de aplicaciones para abrir el archivo txt?
Necesita el siguiente permiso en el archivo AndroidManifest.xml
:
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
Compruebe los detalles del manifiesto aquí . Puede consultar este enlace en su consulta.
Usted puede lograr esto de dos maneras:
-
Utilizando el bloqueo de activación como se explica en @Yup en este post.
-
Utilizando indicadores de ventana.
Abra la Actividad A que desea iniciar onReceive(...)
. Pegar esto en onCreate()
de esa Actividad A
final Window win= getWindow(); win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Asegúrese de no pegarlo antes de setContentView(...)
🙂
Puede comprobar aquí si la pantalla está bloqueada o desbloqueada.
A continuación, puede utilizar las opciones de bloqueo y de administración de energía para mantener la pantalla sin bloquearse. Puedes encontrar ayuda aquí
- Bitmap decodeStream OutOfMemory Excepción
- Webview html formulario de entrada no mostrar / permitir el teclado