我想控制系统设置“自动亮度”,将其设置为ON或OFF。我能够控制亮度级别,但仅在AUTO为OFF时才能控制。从我读到的内容到今天,在Settings.System中有一个SCREEN_BRIGHTNESS_MODE,但仅适用于API等级8或更高版本,也不建议使用它。但目前我的手机有Android 2.1(API 7),并且有小部件可以控制此设置(启用/禁用自动亮度并设置级别)。这是怎么做到的?
答案 0 :(得分:3)
我使用以下方法解决了我的问题:
private static final String SCREEN_BRIGHTNESS_MODE = "screen_brightness_mode";
private static final int SCREEN_BRIGHTNESS_MODE_MANUAL = 0;
private static final int SCREEN_BRIGHTNESS_MODE_AUTOMATIC = 1;
Settings.System.putInt(resolver, SCREEN_BRIGHTNESS_MODE, mode);
Settings.System.putInt(resolver, Settings.System.SCREEN_BRIGHTNESS, lev);
这适用于API版本7和8,不确定早期版本。
答案 1 :(得分:1)
我想这应该适合你:
Settings.System.putInt(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE, mode);
Settings.System.putInt(resolver, Settings.System.SCREEN_BRIGHTNESS, lev);
请记住添加权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />