在Android中设置亮度自动模式后如何听众亮度值?

问题描述 投票:0回答:1

我想要设置亮度自动模式后的当前亮度级别。我更改了屏幕亮度,但没有收到更改后的亮度级别值。

我使用异步调用来接收已完成块中更改的亮度级别,但没有更改亮度级别,恰好屏幕亮度更改为自动级别。

// Auto mode Setting
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);

// receive changed brightness level
int level = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, default);

首先,我设置了写入权限,我在MainUIThread中尝试了Async、RxJava、Coroutine、普通线程可运行,但我没有收到更改的亮度级别。

我希望在设置自动模式亮度后收到更改的亮度级别。

java android brightness screen-brightness
1个回答
0
投票

这个问题的解决方案

首先,您获得可变的当前亮度级别 int currentLevel = Settings.System.getInt(..., SCREEN_BRIGHTNESS);

second,设置明亮的自动模式 Settings.System.putInt(..., SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_AUTOMATIC);

三、设置automatic后对比currentLevel和bright level 线程睡眠 200 ~ 500 可能比较 但如果相同的值,数 5 ~ 10

线程.sleep(500); progressBar.setProgress(Settings.System.getInt(..., SCREEN_BRIGHTNESS));

© www.soinside.com 2019 - 2024. All rights reserved.