我试图通过我的应用程序设置屏幕亮度,但是一旦屏幕旋转(自动旋转),我的亮度就会重置为系统默认亮度。

我正在使用的代码如下:

final WindowManager.LayoutParams lp = ((Activity) context).getWindow().getAttributes();
lp.screenBrightness = 0.5f;
((Activity) context).getWindow().setAttributes(lp);
((Activity) context).startActivity(new Intent(context, DummyActivity.class));

最佳答案

发生这种情况是因为您的活动正在重新开始。
您可以尝试在活动的onCreate中添加窗口设置代码。
在设置活动视图之前,请确保已添加此代码。

 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

     final WindowManager.LayoutParams lp = getWindow().getAttributes();
     lp.screenBrightness = 0.5f;
     getWindow().setAttributes(lp);

     setContentView(R.layout.your_layout_id);
 }

关于android - android以编程方式设置屏幕亮度并保持它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29051076/

10-10 17:06