#android #android-widget #render #cyanogenmod #screen-brightness
#Android #android-виджет #визуализация #cyanogenmod #яркость экрана
Вопрос:
я работаю над приложением, как можно изменить яркость экрана Android, может somme помочь мне, приведя несколько примеров того, как это сделать.
Спасибо 🙂
Ответ №1:
Этот фрагмент кода установит яркость:
private void setBrightness(int brightness) {
try {
IHardwareService hardware = IHardwareService.Stub.asInterface(
ServiceManager.getService("hardware"));
if (hardware != null)
hardware.setScreenBacklight(brightness);
} catch (RemoteException doe) {
}
}
Не забудьте добавить в свой манифест
<uses-permission android:name="android.permission.HARDWARE_TEST" />
Пожалуйста, проверьте этот полный пример
Комментарии:
1. Привет, Шериф, спасибо за ответ, но я не могу загрузить hardwar.jar где я могу его найти или источник.
2. вам не нужно загружать какой-либо jar-файл. Просто добавьте этот код, и, возможно, вы забыли добавить разрешение (проверьте ответ, который я отредактировал)
3. Но у меня ошибка при импорте android.os. IHardwareService и импортировать android.os.ServiceManager; и я не могу скомпилировать
4. @user820688 Мне жаль… Да, вы правы. пожалуйста, проверьте code.google.com/p/batterywidget/source/browse/trunk … … существует файл под названием ‘hardware09.jar «Я надеюсь, что в нем есть все необходимые классы
5. Не работает, у меня есть тест на Android 2.2, выдает ошибку «java.lang. Ошибка NoSuchMethodError: android.os. IHardwareService.setScreenBacklight», я включил jar.
Ответ №2:
Вы можете использовать настройки Android для регулировки яркости.
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS,
(int)progress);
для ручных настроек, которые принимают (0-255) по мере выполнения и
android.provider.Settings.System.putFloat(getContentResolver(),
AppConstant.SCREEN_AUTO_BRIGHTNESS_ADJ, progress);
для автоматических настроек, которые выполняются (-1 к 1) по мере выполнения