申請するACTION_MANAGE_WRITE_SETTINGS権限



android 5.0以上のプラットフォームでは、携帯電話の設定(画面の明るさなど)を変更する必要がある場合は、Settingsを申請する必要があります.ACTION_MANAGE_WRITE_SETTINGS権限は、一般的な方法では申請できません
携帯電話の設定を変更(画面の明るさなど)
  //           
                Settings.System.putInt(getActivity().getContentResolver(),
                        Settings.System.SCREEN_BRIGHTNESS, tmpInt);
                tmpInt = Settings.System.getInt(getActivity().getContentResolver(),
                        Settings.System.SCREEN_BRIGHTNESS, -1);
                WindowManager.LayoutParams wl = getActivity().getWindow().getAttributes();

                float tmpFloat = (float) tmpInt / 255;
                if (tmpFloat > 0 && tmpFloat <= 1) {
                    wl.screenBrightness = tmpFloat;
                }
                getActivity().getWindow().setAttributes(wl);

自動調整の設定:
 
  
 //         

    public static void startAutoBrightness(Context context) {

        Settings.System.putInt(context.getContentResolver(),

                Settings.System.SCREEN_BRIGHTNESS_MODE,

                Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);


//              Settings.System.putInt(context.getContentResolver(),
//                Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);

        Uri uri = Settings.System
                .getUriFor("screen_brightness");
        context.getContentResolver().notifyChange(uri, null);
    }
   
 //         

    public static void stopAutoBrightness(Context context) {

        Settings.System.putInt(context.getContentResolver(),

                Settings.System.SCREEN_BRIGHTNESS_MODE,

                Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);



    }

以上、Settingsを申請する必要があります.ACTION_MANAGE_WRITE_SETTINGS権限
 
  
 
  

使用Google示例

easypermissions


仍然无法申请

在主界面做下以申请即可

 private void CheckPermission() {
        if (!Settings.System.canWrite(MainUIActivity.this)) {


            Uri selfPackageUri = Uri.parse("package:"
                    + getPackageName());
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS,
                    selfPackageUri);
            startActivity(intent);
        }
    }