Cómo hacer nuestra propia pantalla de bloqueo en Android en lugar de la pantalla de bloqueo predeterminado
Tengo una idea de crear mi propia aplicación de bloqueo de teléfono similar a bloqueo de patrón de Android. Necesito mostrar o iniciar mi aplicación siempre que el teléfono arranque / reinicie / teléfono, bloquee / teléfono y desbloquee. No sé cómo hacer que aparezca la aplicación en lugar de la pantalla de bloqueo predeterminada y ocultar la pantalla de bloqueo predeterminada. Así que mis preguntas son:
- Cómo mostrar o iniciar mi aplicación en lugar de la pantalla de bloqueo predeterminada
-
Que es
- Mejores prácticas de Android: vistas / actividades
- Detección de lanzamientos de actividades de Android
- Android, el arranque de matriz de Java no está permitido aquí
- Android.os.TransactionTooLargeException recuperar aplicaciones instaladas
- ¿Cómo deshacerse de la advertencia de llamada sospechosa en Android Studio?
getWindow().addFlags( WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
¿Cómo esto es útil?
-
Que es
public class BootReciever extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction() != null) { if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) { Intent s = new Intent(context,ViewPagerMainActivity.class); s.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(s); } } } }
¿Cómo esto es útil?
- ¿Cómo se muestra la página de inicio después de que mi aplicación termina su trabajo?
- Android okHttp addFormDataPart dinámicamente para múltiples imágenes
- Uso de sesiones de PHP con mi aplicación de Android para iniciar sesión
- Biblioteca de soporte de Android: getDrawable independiente si vector o no
- ¿Cómo puedo añadir un submódulo java gradle a mi módulo Android?
- Submenú del menú del cajón de navegación
- El servidor no admite la suite de cifrado predeterminada de Android 5.0
- Manteniendo una vista en la parte inferior con la biblioteca de SlidingUpPanel
- Android: firma digital con Bezier
Los códigos que ha utilizado en el punto 2 deben utilizarse como respuesta a su pregunta 1. La referencia es la actividad de Android sobre la pantalla de bloqueo predeterminada .
Para la pregunta 2, vea estos enlaces relevantes:
- WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
- WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
- WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
- WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
Antes de responder a su pregunta 3, me gustaría preguntarle, ¿tiene conocimiento sobre BroadcastReceiver ? En resumen,
Un receptor de difusión (receptor corto) es un componente de Android que le permite registrarse para eventos de sistema o aplicación. Todos los receptores registrados de un evento son notificados por el tiempo de ejecución de Android una vez que sucede este evento.
Por ejemplo, las aplicaciones pueden registrarse para el evento del sistema ACTION_BOOT_COMPLETED que se activa una vez que el sistema Android ha completado el proceso de inicio.
Ahora vienen a su pregunta 4, usted puede mostrar la página de inicio programáticamente por este código:
Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startMain);
Consulte: Ir a la pantalla de inicio mediante programación
Y por último de todo me gustaría proporcionarle algunos enlaces que pueden ayudarle a hacer una pantalla de bloqueo personalizado:
- Creación de una aplicación de pantalla de bloqueo de Android.
- Cualquier tutorial para personalizar la pantalla de bloqueo en Android
- Cómo crear la pantalla de bloqueo de personalización
- Implementar la pantalla de bloqueo en Android