27

Androidのコードを使用して画面のタイムアウトを変更できるかどうか疑問に思っています

ここに画像の説明を入力

4

5 に答える 5

50

やり方は簡単です。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);
}
于 2012-05-25T05:36:33.490 に答える
13

より良い解決策は、次のいずれかを実行することです(動的にするか静的にするかによって異なります)。

  1. レイアウト(xml)で属性android:keepScreenOnを指定します(つまり、画面のタイムアウトを常に防止します)。
  2. WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ONアクティビティを作成するときにフラグを追加するか、
  3. を使用しWakeLockて、画面を表示する時間を制御します(動的)
于 2012-10-16T00:51:24.550 に答える
5

誰かがそれを決してしないように設定する必要がある場合は、ここにコードがあります

Settings.System.putString(cr, Settings.System.SCREEN_OFF_TIMEOUT, "-1");
于 2012-05-25T07:13:46.010 に答える