Skip to content Skip to sidebar Skip to footer

Programmatically Set Screen To Off In Android

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 thre

Solution 1:

Yes, the method best used in this case is to programmatically set screen timeout instead.

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

1000 is in milliseconds which means 1 second, you can replace it with any value as desired.

Needed permission:

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

UPDATE

It will overwrite the phone system value (Settings/Display/Sleep), so perhaps you need to restore the current settings after finish:

privatestatic final int SCREEN_OFF_TIME_OUT = 13000;
privateint mSystemScreenOffTimeOut;
privatevoidsetScreenOffTimeOut() {
    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);
    }
}

privatevoidrestoreScreenOffTimeOut() {
    if (mSystemScreenOffTimeOut == 0) return;
    try {
        Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, mSystemScreenOffTimeOut);
    } catch (Exception e) {
        Utils.handleException(e);
    }
}

Post a Comment for "Programmatically Set Screen To Off In Android"