在上一篇博客中,我们学习了显示设置中休眠设置和屏保设置的基本内容。在这一篇中我们来学习设备亮度的调节,首先还是学习在DisplaySettings.xml增加了一个叫做BrightnessPreference的preference的选项用来控制亮度调节。
步骤1:当用户点击BrightnessPreference的时候,由BrightnessPreference做对应的处理(注:其实是发送了一个广播)
1 public class BrightnessPreference extendsPreference {2
3 publicBrightnessPreference(Context context, AttributeSet attrs) {4 super(context, attrs);5 }6
7 @Override8 protected voidonClick() {9 //发送了一个显示亮度调节对话框的广播
10 Intent intent = newIntent(Intent.ACTION_SHOW_BRIGHTNESS_DIALOG);11 getContext().sendBroadcastAsUser(intent, UserHandle.CURRENT_OR_SELF);12 }13 }
步骤2:对广播的注册并处理,有一个SettingsUI的类继承自SystemUI,该类负责监听上面的广播并进行处理,详见:
1 public class SettingsUI extendsSystemUI {2 private static final String TAG = "SettingsUI";3 private static final boolean DEBUG = false;4 private final Handler mHandler = newHan