系统亮度的设置及授权

以下为设置系统亮度的封装函数:

(注意:在API 23或更高版本中,用户必须为系统权限手动授权。所以,我们需要通过“Settings.System.canWrite”判断是否有权限,否则跳转到权限界面让用户自己手动授权)

    public void saveBrightness(Activity activity, int brightness) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (Settings.System.canWrite(getApplicationContext())) {
                Uri uri = Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);
                Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness);
                activity.getContentResolver().notifyChange(uri, null);
            } else {
                Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS);
                intent.setData(Uri.parse("package:" + getApplicationContext().getPackageName()));
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }
        }
    }

如下是调用该函数的语句,

saveBrightness(MainActivity.this, 66);

简单的例子就这样了。完。

 

 

你可能感兴趣的:(android)