以编程方式更改系win7语法调整亮度统亮度
番茄系统家园 · 2021-07-06 11:19:00

我遇到了同样的问题。
两种解决方案:
这里,亮度=(int)因为我正在使用进度条
1解决方案
=()255;=()();=;getWindow().setAttributes(lp);
2解决方案
我只是在我的进度条stop寻求时使用虚拟活动来调用。
Intentintent=newIntent(getBaseContext(),DummyBrightnessActivity.class);Log.d(brightend,String.valueOf(brightness/(float)255));intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//thisisimportant//inthenextlinebrightnessshouldbeafloatnumberbetween0.0and1.0intent.putExtra(brightnessvalue,brightness/(float)255);getApplication().startActivity(intent);
现在来到DummyBrightnessActivity.class
publicclassDummyBrightnessActivityextendsActivity{privatestaticfinalintDELAYED_MESSAGE=1;privateHandlerhandler;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);handler=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){if(msg.what==DELAYED_MESSAGE){DummyBrightnessActivity.this.finish();}super.handleMessage(msg);}};IntentbrightnessIntent=this.getIntent();floatbrightness=brightnessIntent.getFloatExtra(brightnessvalue,0);WindowManager.LayoutParamslp=getWindow().getAttributes();lp.screenBrightness=brightness;getWindow().setAttributes(lp);Messagemessage=handler.obtainMessage(DELAYED_MESSAGE);//thisnextlineisveryimportant,youneedtofinishyouractivitywithslightdelayhandler.sendMessageDelayed(message,200);}}
不要忘记注册DummyBrightnessActivity以显示。

