![](https://img-blog.csdnimg.cn/0a10b5bfb30a479880e4ba544b9d59da.png)
- 权限
android.Manifest.permission.WRITE_SETTINGS - 我这里是动态获取权限的点击获取动态权限的参考
//判断系统写入权限,修改休眠时间
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//判断是否可以写入数据到系统
if (!Settings.System.canWrite(this)) {
Intent i = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
i.setData(Uri.parse("package:" + this.getPackageName()));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(i);
} else {
//处理逻辑
}
} else {
//处理逻辑
}
注:永不的毫秒值为:2147483647
//获取休眠时间
private int getScreenOffTime() {
int screenOffTime = 0;
try {
screenOffTime = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);
} catch (Exception localException) {
}
return screenOffTime;
}
//设置休眠时间 (paramInt:毫秒值)
private void setScreenOffTime(int paramInt) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//判断是否可以写入数据到系统
if (!Settings.System.canWrite(this)) {
Intent i = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
i.setData(Uri.parse("package:" + this.getPackageName()));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(i);
} else {
Settings.System.putInt(this.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, paramInt);
}
} else {
Settings.System.putInt(this.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, paramInt);
}
}