Вопрос по android – Как программно изменить время ожидания экрана?

23

просто интересно, можно ли изменить время ожидания экрана с помощью кода в Android

enter image description here

Проверьте эту ссылку [stackoverflow.com/questions/1114270/android-screen-timeout][1] [1]: stackoverflow.com/questions/1114270/android-screen-timeout Raghu Nagaraju
Возможный дубликатandroid-screen-timeout Imran Rana

Ваш Ответ

4   ответа
9

Лучшее решение - выполнить одно из следующих действий (в зависимости от того, хотите ли вы, чтобы оно было динамическим или статическим):

  1. Specify attribute android:keepScreenOn in layout (xml) (i.e. indefinitely prevent screen timeout at all times),
  2. Add the WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON flag when you create your Activity, or
  3. Use a WakeLock to control how long the screen should be up (dynamic)

Проверять, выписыватьсяэтот блог для более подробных примеров этих двух подходов.

Error: User Rate Limit Exceeded
48

Это просто сделать .. Вы должны научиться решать вашу проблему из исходного кода 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);
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
5

Если кому-то нужно установить его никогда, вот код

Settings.System.putString(cr, Settings.System.SCREEN_OFF_TIMEOUT, "-1");
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded-1Error: User Rate Limit Exceeded
5

Задание тайм-аута экрана равным -1, по-видимому, не выполняет точную работу по требованию.

Я обнаружил, что установка значения в Integer.MAX_VALUE работает лучше.

Например:

android.provider.Settings.System.putInt(content, Settings.System.SCREEN_OFF_TIMEOUT, Integer.MAX_VALUE);

Похоже, это устанавливает максимальное время ожидания на максимальное разрешение устройства.

Например, если при переходе к настройкам дисплея на вашем телефоне максимальный тайм-аут экрана составляет только 30 минут, выполнение вышеуказанного кода установит тайм-аут экрана на 30 минут.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы