android - puedo - ¿Cómo cambiar el tiempo de espera de la pantalla programáticamente?
tiempo de espera de pantalla android (4)
solo me pregunto si es posible cambiar el tiempo de espera de la pantalla usando el código en Android
Es simple de hacer ... Debería aprender a resolver su problema con el código fuente de Android.
/**
* set screen off timeout
* @param screenOffTimeout int 0~6
*/
private void setTimeout(int screenOffTimeout) {
int time;
switch (screenOffTimeout) {
case 0:
time = 15000;
break;
case 1:
time = 30000;
break;
case 2:
time = 60000;
break;
case 3:
time = 120000;
break;
case 4:
time = 600000;
break;
case 5:
time = 1800000;
break;
default:
time = -1;
}
android.provider.Settings.System.putInt(getContentResolver(),
Settings.System.SCREEN_OFF_TIMEOUT, time);
}
Establecer el tiempo de espera de la pantalla en -1 no parece hacer un trabajo preciso de lo que se requiere.
He encontrado que establecer el valor en Integer.MAX_VALUE funciona mejor.
Por ejemplo:
android.provider.Settings.System.putInt (contenido, Settings.System.SCREEN_OFF_TIMEOUT, Integer.MAX_VALUE);
Esto parece establecer el tiempo máximo de espera al máximo permitido por el dispositivo.
Por ejemplo, si al navegar a la configuración de pantalla en su teléfono solo le permite tener un tiempo de espera de pantalla máximo de 30 minutos, hacer el código anterior establecerá el tiempo de espera de la pantalla en 30 minutos.
Si alguien necesita configurarlo como nunca, aquí está el código
Settings.System.putString(cr, Settings.System.SCREEN_OFF_TIMEOUT, "-1");
Una mejor solución es realizar una de las siguientes acciones (dependiendo de si desea que sea dinámico o estático):
- Especifique el atributo
android:keepScreenOn
en el diseño (xml) (es decir, impida indefinidamente el tiempo de espera de la pantalla en todo momento), - Agregue el indicador
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
cuando cree su actividad, o - Use un
WakeLock
para controlar cuánto tiempo debe estar la pantalla (dinámica)
Echa un vistazo a este blog para ver ejemplos más detallados de estos dos enfoques.