我想知道在Android中是否可以使用代码更改屏幕超时时间。
我想知道在Android中是否可以使用代码更改屏幕超时时间。
这很简单.. 你应该学会从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);
}
android:keepScreenOn
(即无限期地防止屏幕超时),WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
标志,或者WakeLock
来控制屏幕应保持开启的时间(动态)Settings.System.putString(cr, Settings.System.SCREEN_OFF_TIMEOUT, "-1");
试试这个。只需将3000更改为您想要的任何屏幕关闭时间。确保您提供了更改系统设置的权限。
try {
int mSystemScreenOffTimeOut = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 3000);
} catch (Exception e) {
Toast.makeText(this, "Permission Error", Toast.LENGTH_SHORT).show();
}