BrightnessTools:
package com.example.test
import android.app.Activity
import android.content.ContentResolver
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.provider.Settings
import android.provider.Settings.SettingNotFoundException
import android.util.Log
object BrightnessTools {
fun isAutoBrightness(aContentResolver: ContentResolver?): Boolean {
var automaticBrightness = false
try {
automaticBrightness = Settings.System.getInt(
aContentResolver,
Settings.System.SCREEN_BRIGHTNESS_MODE
) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
} catch (e: SettingNotFoundException) {
e.printStackTrace()
}
return automaticBrightness
}
fun getScreenBrightness(activity: Activity): Int {
var nowBrightnessValue = 0
val resolver = activity.contentResolver
try {
nowBrightnessValue = Settings.System.getInt(
resolver, Settings.System.SCREEN_BRIGHTNESS
)
} catch (e: Exception) {
e.printStackTrace()
}
return nowBrightnessValue
}
fun setBrightness(activity: Activity, brightness: Int) {
val lp = activity.window.attributes
lp.screenBrightness = java.lang.Float.valueOf(brightness.toFloat()) * (1f / 255f)
Log.d("brightness", "set lp.screenBrightness == " + lp.screenBrightness)
activity.window.attributes = lp
}
fun stopAutoBrightness(activity: Activity) {
Settings.System.putInt(
activity.contentResolver,
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL
)
}
fun startAutoBrightness(activity: Activity) {
Settings.System.putInt(
activity.contentResolver,
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
)
}
fun setSystemBrightness(resolver: ContentResolver, brightness: Int) {
val uri = Settings.System.getUriFor("screen_brightness")
Log.d("brightness", "------设置系统亮度结果:${Settings.System.putInt(resolver, "screen_brightness", brightness)}")
resolver.notifyChange(uri, null)
}
}
使用:
private fun setBrightness() {
BrightnessTools.setBrightness(this, 255)
Log.d("brightness", "当前页面亮度设置为:255")
}
private fun setSystemBrightness() {
val screenBrightness = BrightnessTools.getScreenBrightness(this)
Log.d("brightness", "系统屏幕亮度为:${screenBrightness}")
BrightnessTools.setSystemBrightness(contentResolver,255)
Log.d("brightness", "系统屏幕亮度设置为:255")
}