如何检测 android 中的亮度变化?
how can I detect change in brightness in android?
我正在尝试开发一个简单的应用程序,可以监控当前屏幕亮度值并在用户更改亮度时更新该值。
这是我获取当前亮度的代码。
try {
float curBrightnessValue=android.provider.Settings.System.getInt(
getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS);
System.out.println(curBrightnessValue);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
但我正在努力更新值。
如何在亮度发生变化时更新值?
这可以帮助你:
ContentObserver contentObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
int a = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 0);
Log.d("MainActivity", "Brightness value: "+ a);
}
};
getContentResolver().registerContentObserver(Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS),
false, contentObserver);
附加回调以在内容更改时接收更改
我正在尝试开发一个简单的应用程序,可以监控当前屏幕亮度值并在用户更改亮度时更新该值。
这是我获取当前亮度的代码。
try {
float curBrightnessValue=android.provider.Settings.System.getInt(
getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS);
System.out.println(curBrightnessValue);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
但我正在努力更新值。 如何在亮度发生变化时更新值?
这可以帮助你:
ContentObserver contentObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
int a = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 0);
Log.d("MainActivity", "Brightness value: "+ a);
}
};
getContentResolver().registerContentObserver(Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS),
false, contentObserver);
附加回调以在内容更改时接收更改