Я хочу управлять системными настройками «автояркость», устанавливая ее ВКЛ или ВЫКЛ. Я могу контролировать уровень яркости, но только если AUTO выключен. Из того, что я читал до сих пор, в Settings.System есть SCREEN_BRIGHTNESS_MODE, но только для уровня API 8 или выше, и также не рекомендуется возиться с ним. Но в настоящее время мой телефон имеет Android 2.1 (API 7) и есть виджеты, которые могут управлять этой настройкой (включать/отключать автояркость и устанавливать уровень). Как это делается?
Как включить/отключить режим автояркости через API
Ответы (2)
Я решил свою проблему, используя:
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, не уверен в более ранних версиях.
person
Alex
schedule
19.10.2010
извините за вопрос n00b, но можете ли вы точно сказать, что такое параметр «режим»? Я пытался заставить этот код работать, назначив для режима var значение 0 или 1, но безрезультатно... никаких ошибок компиляции или времени выполнения - просто ничего не делает...
- person Bennett Von Bennett; 18.02.2012
Я думаю, это должно сработать для вас:
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" />
person
Deqing
schedule
06.01.2014