14

can I programmatically set screen to off in android if is not done automatically after 1 minute of inactivity.

is this possible to do programmatically in android?

I found this threads: Android: How to turn screen on and off programmatically?

Turning screen on and off programmatically not working on some devices

but there is no timer after 1 minute.

4

1 に答える 1

21

はい、この場合に最もよく使用される方法は、代わりにプログラムで画面タイムアウトを設定することです。

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

1000 はミリ秒単位で、1 秒を意味します。必要に応じて任意の値に置き換えることができます。

必要な許可:

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

アップデート

電話システムの値 (Settings/Display/Sleep) が上書きされるため、終了後に現在の設定を復元する必要がある場合があります。

private static final int SCREEN_OFF_TIME_OUT = 13000;
private int mSystemScreenOffTimeOut;
private void setScreenOffTimeOut() {
    try {
        mSystemScreenOffTimeOut = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);
        Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, SCREEN_OFF_TIME_OUT);
    } catch (Exception e) {
        Utils.handleException(e);
    }
}

private void restoreScreenOffTimeOut() {
    if (mSystemScreenOffTimeOut == 0) return;
    try {
        Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, mSystemScreenOffTimeOut);
    } catch (Exception e) {
        Utils.handleException(e);
    }
}
于 2012-12-04T06:01:41.397 に答える