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:

  1. Cómo mostrar o iniciar mi aplicación en lugar de la pantalla de bloqueo predeterminada
  2. Que es

    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?

  1. 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?

  1. ¿Cómo se muestra la página de inicio después de que mi aplicación termina su trabajo?

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
  • Android ImageView escala tipo centerCrop
  • Subir múltiples datos utilizando httpmime - Android
  • Cómo quitar una tarea de ScheduledExecutorService?
  • En Android, ¿cómo consultar a MediaStore sólo para archivos en una ruta específica? O, alternativamente, sólo mostrar archivos en una determinada ruta?
  • ¿Cómo se muestra un diálogo de alerta sólo en la primera ejecución de mi aplicación?
  • Android-java- Cómo ordenar una lista de objetos por un determinado valor dentro del objeto
  • Android Studio v7- Errores de importación para pocas clases (No se puede resolver el símbolo)
  • Android: Los usuarios con ciertos dispositivos no pueden usar los servicios web de mi aplicación - SSLPeerUnverifiedException
  • Android Polimorfismo: Anti-Patrón?
  • ¿Enfoques al error de desajuste de estado de MediaPlayer de Android en isPlaying ()?
  • Eclipse ADT Bundle: error grave, no se puede iniciar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.