如果在安卓设备上,一分钟内没有自动关闭屏幕,我可否通过编程方式将其设置为关闭状态。
在安卓设备上,是否有可能通过编程方式实现此功能?
我找到了这些讨论帖: Android:如何通过编程方式打开和关闭屏幕?
但是其中没有1分钟的计时器。
如果在安卓设备上,一分钟内没有自动关闭屏幕,我可否通过编程方式将其设置为关闭状态。
在安卓设备上,是否有可能通过编程方式实现此功能?
我找到了这些讨论帖: Android:如何通过编程方式打开和关闭屏幕?
但是其中没有1分钟的计时器。
是的,在这种情况下最好使用编程方式设置屏幕超时时间。
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);
}
}
Settings.System.SCREEN_OFF_TIMEOUT
来设置屏幕超时时间,即使用户从应用程序中移动,该设置仍然保持不变。 - ρяσѕρєя KSettings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, Integer.MAX_VALUE);
,其中我们将超时时间设置为整数的最大值,这样就可以避免屏幕再次关闭! - Mohamad Ghaith Alzin