在我的应用程序中,即使用户允许修改系统设置(写入设置)权限,实际的权限也不会授予我的应用程序。
允许用户修改设置:
但是,当我走进
设置>已安装的应用程序>我的应用程序>其他权限
为了检查授予的权限,正在拒绝修改我的应用程序的系统设置权限。
我已在清单文件中添加写入设置权限
我还用代码打开了设置意图
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();
}
它在我测试过的其他设备上工作,但在小米的miui设备上不工作。如果可能的话,请给我一份工作。我迫切需要这个许可,因为我的应用程序想改变铃声。
答案在这里
link
(
Can't get WRITE_SETTINGS permission
已在小蜜器件中实现但不工作