我有一个活动和一项服务。每当我通过活动中的按钮启动服务时,我都会将屏幕超时设置为一秒,以便屏幕很快关闭。
这是这样做的行:
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 1000);
现在,我的正常超时是 30 秒,所以我可以简单地在停止服务的按钮中写这样的东西:
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 30000);
但是,例如,如果其他人使用此应用程序,他们的屏幕超时可能为一分钟。我的问题是:如何将超时设置为设备的"默认"秒/分钟数?
首先在服务或活动中获取设备屏幕超时,然后再使用
int timeout = Settings.System.getInt(getContentResolver(),
Settings.System.SCREEN_OFF_TIMEOUT, Default);
其中默认值是要设置为默认值的任何值,例如:30000
之后,根据需要设置其值,您可以将以下代码放入活动的onDestroy()
方法中。
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, timeout);