2014-07-06 24 views
6

Ho un'idea di creare la mia app di blocco del telefono simile al blocco del modello Android. Devo visualizzare o avviare la mia app ogni volta che il telefono si avvia/riavvia/telefono, blocca/telefono e sblocca. Non so come far apparire l'app al posto della schermata di blocco predefinita e per nascondere la schermata di blocco predefinita. Quindi le mie domande sono:Come rendere la nostra schermata di blocco in Android invece della schermata di blocco predefinita

  1. Come visualizzare o avviare la mia applicazione al posto di blocco dello schermo predefinito
  2. Qual è

    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); 
    

Come questo è utile?

  1. Qual è

    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); 
          } 
         } 
        } 
    } 
    

Come questo è utile?

  1. Come viene visualizzata la home page dopo che la mia app ha terminato il suo lavoro?
+0

Check mia risposta, penso che vi aiuterà a raggiungere ciò che si desidera http://stackoverflow.com/a/28603790/3300883 – Miguel

risposta

12

I codici utilizzati al punto 2 dovrebbe essere usato come risposta della tua domanda 1. Riferimento è Android activity over default lock screen.

per la domanda 2, vedere questi link pertinenti:

Prima di rispondere alla tua domanda 3, vorrei chiederti , hai conoscenza di BroadcastReceiver? In breve si è-

Un ricevitore broadcast (ricevitore breve) è un componente di Android, che consente di registrare gli eventi di sistema o di applicazione. Tutti i ricevitori registrati per un evento vengono notificati dal runtime Android una volta che questo evento si verifica.

Ad esempio, le applicazioni possono registrarsi per l'evento di sistema ACTION_BOOT_COMPLETED che viene licenziato una volta che il sistema Android ha completato il processo di avvio .

ora alla tua domanda 4, è possibile mostrare home page a livello di programmazione di questo codice:

Intent startMain = new Intent(Intent.ACTION_MAIN); 
startMain.addCategory(Intent.CATEGORY_HOME); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 

consultare: Going to home screen programmatically

E l'ultimo di tutti vorrei fornire alcuni link che può aiutare a fare una schermata di blocco personalizzato: