Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android deshabilita el tiempo de espera de la pantalla mientras se está ejecutando la aplicación

¿Existe alguna manera de desactivar el protector de pantalla mientras mi aplicación está en ejecución?

El oscurecimiento de la pantalla es lo que quiero decir.

9 Solutions collect form web for “Android deshabilita el tiempo de espera de la pantalla mientras se está ejecutando la aplicación”

Quieres usar algo como esto:

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

Solía:

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

Para desactivar el tiempo de espera de la pantalla y

 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

Para volver a habilitarlo.

También hay una forma XML que Google recomienda:

 <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:keepScreenOn="true"> 

Comprobar diapositivas de Google – Diapositiva 16.

"Wakelocks son costosos si se olvida (…) Considere el uso de android: keepScreenOn para garantizar la corrección"

Esto puede hacerse mediante la adquisición de un Wake Lock.

No lo probé yo mismo, pero aquí hay un pequeño tutorial sobre esto.

Poner esto en onStart

  PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "no sleep"); wakeLock.acquire(); 

Y esto en tu manifiesto

  <uses-permission android:name="android.permission.WAKE_LOCK" /> 

No te olvides de

 wakeLock.release(); 

En onStop

Simple agregue debajo de la línea en su MainActivity y su App nunca apagará las luces.

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

En una vista, en mi caso una subclase SurfaceView, puede configurar la pantalla siempre encendida. Quería que la pantalla permaneciera mientras esta vista seguía dibujando cosas.

 public class MyCoolSurfaceView extends SurfaceView { @Override protected void onAttachedToWindow (){ super.onAttachedToWindow(); this.setKeepScreenOn(true); } @Override protected void onDetachedFromWindow(){ super.onDetachedFromWindow(); this.setKeepScreenOn(false); } 

Es importante señalar que todos estos métodos deben ejecutarse desde el hilo de interfaz de usuario hasta el trabajo. Vea cambiar KeepScreenOn desde javascript en Android app cordova

Esta es la mejor manera de resolver esto

  getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.