android以编程方式设置屏幕亮度并保留它

时间:2015-03-14 16:08:59

标签: android

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

我正在使用的代码如下:

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));

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为您的活动正在重新启动。 您可以尝试在活动的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);
 }