Как дать разрешение на изменение яркости экрана в Зефир
Я использую следующий код для увеличения яркости. Это правильно работает в устройствах, которые ниже зефира. В Marshmallow происходит сбой, и я не нашел ничего, что давало бы динамическое разрешение для настроек записи. У кого-нибудь есть идея, пожалуйста, помогите мне.
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 255);
int br = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = (float) br / 255;
getWindow().setAttributes(lp);
Журнал ошибок:
java.lang.SecurityException: com.package was not granted this permission: android.permission.WRITE_SETTINGS.
at android.provider.Settings.isCallingPackageAllowedToPerformAppOpsProtectedOperation(Settings.java:8465)
at android.provider.Settings.checkAndNoteWriteSettingsOperation(Settings.java:8338)
at com.android.providers.settings.SettingsProvider.mutateSystemSetting(SettingsProvider.java:899)
at com.android.providers.settings.SettingsProvider.insertSystemSetting(SettingsProvider.java:874)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:257)
at android.content.ContentProvider$Transport.call(ContentProvider.java:398)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
at android.os.Binder.execTransact(Binder.java:453)