In my app even after user allowing modify system settings (write_settings) permission, the permission in real is not granting to my app.
User allowed allow modify settings:
but, when I went into settings > installed apps> my app > other permissions in order to check granted permissions, Modify system setting permission for my app is being denied.
I have added write settings permission in manifest file
 <uses-permission android:name="android.permission.WRITE_SETTINGS" />
and also I used the code to open settings intent
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
            boolean settingsCanWrite = Settings.System.canWrite(getContext());
            if(!settingsCanWrite){
                showWriteSettingsDialog();
            }
        }
private void showWriteSettingsDialog(){
    final Dialog dialog = new Dialog(getContext());
    LottieAnimationView animation_view = dialog.findViewById(R.id.animation_view);
    dialog.setContentView(R.layout.write_settings_dialog);
    dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    button = dialog.findViewById(R.id.write_settings_button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dialog.dismiss();
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
            intent.setData(Uri.parse("package:" + getContext().getPackageName()));
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivityForResult(intent,CODE_WRITE_SETTINGS_PERMISSION);
        }
    });
    dialog.show();
}
It's working on other devices I have tested but not working in Xiaomi's MIUI devices. If possible please provide me with a work around. I desperately needed this permission as my app want to change ringtones. Answers in this link(Can't get WRITE_SETTINGS permission already implemented but not working in xiaomi devices

