在android中以编程方式将屏幕设置为关闭

时间:2012-12-04 05:50:03

标签: android

如果在1分钟不活动后自动完成,我可以在android中以编程方式将屏幕设置为关闭。

这可以在android中以编程方式进行吗?

我找到了这个帖子: Android: How to turn screen on and off programmatically?

Turning screen on and off programmatically not working on some devices

但1分钟后没有计时器。

1 个答案:

答案 0 :(得分:21)

是的,在这种情况下最好使用的方法是以编程方式设置屏幕超时。

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

1000以毫秒为单位,这意味着1秒,您可以根据需要将其替换为任何值。

需要许可:

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

更新

它将覆盖电话系统值(设置/显示/睡眠),因此您可能需要在完成后恢复当前设置:

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);
    }
}