Inicio Android studio Evitar que se apague la pantalla

Evitar que se apague la pantalla

Jueves, 24-05-2018 14:52 - Leer comentarios - Comentar

El siguiente snipplet de código les ayudará a mantener encendida la pantalla del Android que correrá su aplicación, esto es util cuando la aplicación es más que nada un "visor" o algo así... o un juego que use solo los sensores y no la pantalla touch del teléfono. Lo primero es pedir el permiso en el AndroidManifest.xml
Texto plano
Despues lo que haremos en nuestra actividad en la que queremos que siempre esté encendida la pantalla ponemos:
Texto plano
/*Importan las siguientes librerías*/
 
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.PowerManager;
 
/*Dentro de su clase principal, crean un objeto de tipo WakeLock*/
public class AccellActivity extends Activity{
 
        protected PowerManager.WakeLock wakelock;
 
/** En el método onCreate de la clase, agregan lo siguiente. */
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //evitar que la pantalla se apague
        final PowerManager pm=(PowerManager)getSystemService(Context.POWER_SERVICE);
        this.wakelock=pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "etiqueta");
        wakelock.acquire();
        }
/*Esto, junto con el onDestroy, hacen que la pantalla siga encendida hasta que la actividad termine*/
protected void onDestroy(){
        super.onDestroy();
       
        this.wakelock.release();
    }
 
/*Adicionalmente, recomiendo usar onResume, y onSaveInstanceState, para que, si minimizamos la aplicacion, la pantalla se apague normalmente, de lo contrario, no se apagará la pantalla aunque no tengamos a nuestra aplicación en primer plano.*/
 
protected void onResume(){
        super.onResume();
        wakelock.acquire();
    }
public void onSaveInstanceState(Bundle icicle) {
        super.onSaveInstanceState(icicle);
        this.wakelock.release();
    }
 
}

Comentarios

No se permiten comentarios en este momento.