gpt4 book ai didi

Android 屏幕亮度变化不起作用

转载 作者:行者123 更新时间:2023-11-30 02:49:22 25 4
gpt4 key购买 nike

我有以下代码可以在按住按钮时更改屏幕亮度

ImageButton mfdBRTUp = (ImageButton) findViewById(R.id.imageButtonBRTup);
mfdBRTUp.setOnTouchListener(new OnTouchListener() {
boolean mHeldDown = false;
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {


if (arg1.getAction()==MotionEvent.ACTION_DOWN){
mHeldDown = true;
Thread thread = new Thread()
{
@Override
public void run() {
try {
while(mHeldDown) {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
mBackLightValue += 4;
if(mBackLightValue>100)
mBackLightValue=100;
Log.d("onCreateOptionsMenu", "onTouch ACTION_DOWN mBackLightValue="+mBackLightValue);
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = mBackLightValue;
getWindow().setAttributes(layoutParams);
}
});
sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();

}
if (arg1.getAction()==MotionEvent.ACTION_UP){
mHeldDown = false;
}
return false;
}
});

一切似乎都很好,logcat 输出显示 mBackLightValue 上升到 100(当然我还有另一个几乎相同的向下按钮)

问题是,它什么都不做。我在设置中检查了我的屏幕亮度控制,它不是自动的。

我读过几个关于这个主题的主题,似乎都说唯一必要的就是这个

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = mBackLightValue;
getWindow().setAttributes(layoutParams);

没有权限或任何额外的东西,所以我错过了什么?谢谢。

最佳答案

您的代码似乎将亮度提高到 100,但屏幕亮度应该在 0 到 1 范围内,而不是 0 到 100。任何超过 1 的值都将被视为全亮度,这可能是您出现问题的原因。尝试更改您的代码以增加 0.04 并最大为 1,而不是 4 和 100。

来源:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#screenBrightness

关于Android 屏幕亮度变化不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24472339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com