Время ожидания экрана Android

Я знаю, что его можно использовать wakelock для хранения экрана, процессора, ect, но как я могу программно изменить настройку « Тайм-аут экрана » на телефоне Android.

Solutions Collecting From Web of "Время ожидания экрана Android"

Поставщик Settings.System предлагает параметр SCREEN_OFF_TIMEOUT, который может быть тем, что вы ищете.

public class HelloWorld extends Activity { private static final int DELAY = 3000; int defTimeOut = 0; @Override protected void onCreate(Bundle savedInstanceState) { // Be sure to call the super class. super.onCreate(savedInstanceState); // See assets/res/any/layout/hello_world.xml for this // view layout definition, which is being set here as // the content of our screen. setContentView(R.layout.hello_world); defTimeOut = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, DELAY); Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, DELAY); } @Override protected void onDestroy() { super.onDestroy(); Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, defTimeOut); } } 

А также не забудьте добавить это разрешение в манифест:

 android:name="android.permission.WRITE_SETTINGS" 

Выше правильное:

 Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, DELAY); 

Но также включить разрешение в манифест:

 android:name="android.permission.WRITE_SETTINGS" 

Вот код, вы можете сделать больше.

 long stand = Settings.System.getLong( mContext.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, -1); long sec = stand / 1000; String time = null; if(stand<0) { //close. } else if( sec >= 60) {//to minute time = String.format(mContext.getString(R.string.minutes), (sec / 60) + ""); } else { time = String.format( mContext.getString(R.string.seconds),sec + ""); }