小编Sha*_*ank的帖子

以编程方式在6.0中更改屏幕亮度

我正在开发一个以编程方式更改屏幕亮度的Android应用程序.我有一个适用于5.1.1的设置亮度方法,但是当我在6.0上运行应用程序时,它会出错并关闭应用程序.请帮忙.

以下是我的方法:

 public void setBrightness(View view,int brightness){

    //Just a loop for checking whether the brightness changes
     if(brightness <46)
        brightness = 255;
    else if(brightness >150)
        brightness=45;
    ContentResolver cResolver = this.getApplicationContext().getContentResolver();
    Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);

}

public void setDisplay(View view)
{
    ContentResolver  cResolver = getContentResolver();

    Window window = getWindow();
    int brightness=0;
    try
    {        Settings.System.putInt(cResolver,Settings.System.SCREEN_BRIGHTNESS_MODE
                                   Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
                   brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS);
        System.out.println("Current Brightness level " + brightness);
    }
    catch (Exception e)
    {
                   Log.e("Error", "Cannot access system brightness");
        e.printStackTrace();
    }
    setBrightness(view,brightness);
}
Run Code Online (Sandbox Code Playgroud)

android screen-brightness android-6.0-marshmallow

1
推荐指数
2
解决办法
5460
查看次数