2014-05-17 4 views
2

Je souhaite désactiver le verrouillage de l'écran. afficher l'écran et après l'avoir rejeté, je veux verrouiller l'écran à nouveau, à cette fin, j'utilise ce code.Android Comment désactiver le verrouillage de motif

après onCreate()

PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE); 
    wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "INFO"); 


    KeyguardManager km = (KeyguardManager) this.getSystemService(Context.KEYGUARD_SERVICE); 
    kl = km .newKeyguardLock("MyKeyguardLock"); 
    kl.disableKeyguard(); 

et à l'écran rejetant J'utilise, kl.reenableKeyguard() pour verrouiller à nouveau l'écran.

Cela fonctionne absolument bien si j'utilise le verrouillage de l'écran de balayage, mais si j'utilise le verrouillage de modèle, ce code ne fonctionne pas. Je sais que c'est possible, il y a des applications qui le font, mais jusqu'à présent, je suis incapable de trouver une issue.

Modifier: Je trouve ce code fonctionne en lien, mais pas sur la galaxie

Répondre

3

Vous pouvez créer une activité pour démarrer en cas de besoin avec:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.getWindow().setFlags(
       WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
         | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
         | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON, 
       WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
         | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
         | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
    } 

Wakelocks sont désapprouvées et que la fenêtre les drapeaux devraient maintenant être utilisés. Edit: Cela fonctionne uniquement avec un thème normal/transparent, cela ne fonctionne pas avec le thème de la boîte de dialogue.

+0

cela ne fait rien – Haris

+1

utilisez-vous l'émulateur? Quelle version Android utilisez-vous? Cela fonctionne sans problème pour moi. En outre: cela ne fonctionne que pour une activité avec un thème normal, c'est-à-dire qu'aucun thème de dialogue ne peut être appliqué. – greywolf82

+0

oh, je le teste sur galaxy express et nexus, mon code fonctionne bien sur nexus, mais pas sur galaxy, mais je l'utilise sur le thème de dialogue: ((, laissez-moi essayer avec le thème normal – Haris

Questions connexes