如果在1分钟不活动后自动完成,我可以在android中以编程方式将屏幕设置为关闭。
这可以在android中以编程方式进行吗?
我找到了这个帖子: Android: How to turn screen on and off programmatically?
Turning screen on and off programmatically not working on some devices
但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);
}
}