android代码,怎么监控到屏幕亮度的变化
2个回答
2013-09-17
展开全部
android的屏幕亮度变化时不会发送广播,而是通过Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, value);设置的,其中的参数value是0-255之间的整型值,如果想获取到当前屏幕的亮度的话,可以通过int currentValue=Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);当然获取到的值也是0-255之间的数,如果你想获取到屏幕亮度的变化可以在Settings.System.putInt()方法中找到Settings.System.SCREEN_BRIGHTNESS_MODE对应的设置语句,然后发送一个广播出去。
展开全部
通过监听Settings.System.SCREEN_BRIGHTNESS
private ContentObserver mBrightnessObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
//
}
};
在OnResume或者在一个services中
mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS), true,
mBrightnessObserver);
private ContentObserver mBrightnessObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
//
}
};
在OnResume或者在一个services中
mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS), true,
mBrightnessObserver);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询