Я использую код ниже, чтобы сделать то же самое
WindowManager.LayoutParams WMLP = getWindow().getAttributes();
WMLP.screenBrightness = 0.15F;
getWindow().setAttributes(WMLP);
Преимущество использования приведенного выше кода заключается в том, что это влияет на яркость экрана только в той активности, которая его вызывает. Поэтому, когда я перехожу к какой-либо другой активности (или), чтобы выйти из приложения, яркость телефона по умолчанию (установленная пользователем) восстанавливается.
Edit:
Я забыл упомянуть, что диапазон атрибута screenBrightness составляет 0,0 - 1,0