Android设置锁屏/休眠时长
16lz
2021-01-26
这个有两个方式:
一种是直接使用api修改;
另一种是修改系统数据库;
调用api需要添加权限,而修改数据库不用。
1、api设置
Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_OFF_TIMEOUT,15*1000);
权限:
这个并不能设置永久休眠,PowerManagerService的源码的getScreenOffTimeoutLocked方法最后return那里的max方法,说明最短只能10秒
private static final int MINIMUM_SCREEN_OFF_TIMEOUT = 10 * 1000; private int getScreenOffTimeoutLocked() { int timeout = mScreenOffTimeoutSetting; if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) { timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin); } if (mUserActivityTimeoutOverrideFromWindowManager >= 0) { timeout = (int)Math.min(timeout, mUserActivityTimeoutOverrideFromWindowManager); } return Math.max(timeout, MINIMUM_SCREEN_OFF_TIMEOUT); }
至于设置不休眠你可以这么写代码:
Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_OFF_TIMEOUT,Integer.MAX_VALUE);
貌似大于某个值,系统设置(手机)里面会休眠时长会自动显示为“永久” 2、直接修改系统数据库
路径在/data/data/com.android.providers.settings/databases/settings.db
里面有5,6个表,其中一个表是叫system,其实api修改的就是这个表的screen_off_timeout元组(一行)
system表有三个度,分别是:_id,name,value
所以呢,自己操作数据库,使用语句:
UPDATE system SET value = 'you_time' WHERE name = 'screen_off_timeout' ;
参考博客:
Android休眠设置时间
android 4.2以上版本永不休眠
更多相关文章
- Android(安卓)O中修改NotificationChannel 属性,升级app后该修改
- Android(安卓)Studio同一工程生成不同的app名,包名,图标分别设置
- Android几种网络访问方式的比较
- android 5 设置图案锁,锁屏界面进入相机拍照、查看锁定的照片后,退
- Android调用第三方百度APP进行导航
- Android(安卓)Bitmap Api总结和使用方法
- 如何去除android上a标签产生的边框
- android系统执行命令权限问题(permission denied)
- Android(安卓)studio改变字体大小