admin管理员组

文章数量:1516870

有时候我们会修改到屏幕的亮度比如小说类的app,能实现修改亮度的方式有两种:
1、修改界面的屏幕亮度-----这种只对当前页面生效,退出后回复原来亮度(只影响自己的app不修改系统的亮度)
2、修改系统的亮度

1、修改界面的屏幕亮度的方式

publicvoidchangeScreenBrightniss(Activity activity,int brightniss){if(currentActviityIsDestory(activity)){return;}
        WindowManager.LayoutParams localLayoutParams = activity.getWindow().getAttributes();float f = brightniss /255.0F;
        localLayoutParams.screenBrightness = f;
        activity.getWindow().setAttributes(localLayoutParams);}

如果你想用这种方式改变所有的页面的亮度,可以放在BaseActivity试试

2、修改系统屏幕亮度

publicstaticbooleanchangeSystemScreenBrightniss(Activity activity,int brightniss){if(currentActviityIsDestory(activity)){returnfalse;}if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){//如果当前平台版本大于23平台if(!Settings.System.canWrite(activity)){//如果没有修改系统的权限这请求修改系统的权限
                Intent intent =newIntent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
                intent.setData(Uri.parse("package:"+ activity.getPackageName()));
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                activity.startActivityForResult(intent,0);returnfalse;}else{//修改系统亮度//这里需要权限android.permission.WRITE_SETTINGS//设置为手动调节模式try{int mode = Settings.System.getInt(activity.getContentResolver(),
                            Settings.System.SCREEN_BRIGHTNESS_MODE);if(mode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC){
                        Settings.System.putInt(activity.getContentResolver(),
                                Settings.System.SCREEN_BRIGHTNESS_MODE,
                                Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}}catch(Settings.SettingNotFoundException e){
                    e.printStackTrace();}//保存到系统中
                Uri uri = android.provider.Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);
                android.provider.Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightniss);
                activity.getContentResolver().notifyChange(uri, null);returntrue;}}returnfalse;}

根据自己的需要选择,第一种只修改自己的app不影响其他的app,第二种是改变系统的亮度。

本文标签: 修改系统系统修改界面