Nesse posto pretendo mostrar como "acordar" a tela do Android quando necessário. Um exemplo de uso seria em uma aplicação que usa alarmes. É meio chato quando um alarme dispara no dispositivo e temos que liga-lo e desbloquear a tela para fazer alguma coisa com o alarme. Bom, aqui vou mostrar como fazer isso ao disparar o alarme, para que quando o usuário pegue o dispositivo, a tela já esteja ligada e desbloqueada. Isso tudo é muito simples. Acompanhem o código abaixo:
public class WakeUpAndroid extends Activity{ private KeyguardManager keyguardManager; private PowerManager powerManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Disperta a tela powerManager = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE); wakeLock = powerManager.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG"); wakeLock.acquire(); //Desbloqueia a tela keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); keyguardLock = keyguardManager.newKeyguardLock("TAG"); keyguardLock.disableKeyguard(); } @Override public void finish() { super.finish(); this.release(); } @Override public void onBackPressed() { super.onBackPressed(); this.release(); } private void release(){ keyguardLock.reenableKeyguard(); if (this.wakeLock.isHeld()) { this.wakeLock.release(); } } }
Após usar o recurso temos que libera-lo, caso contrario quando o dispositivo "adormecer" não será ativado o bloqueio de tela.
Até a próxima! abrassss