我有一个音乐播放器应用程序,当我试图删除一个文件时,它会起作用。然而,从API29开始,当我试图通过contentResolver.delete删除文件时,我得到了以下错误。
android.app.RecoverableSecurityException:音乐播放器没有访问content的权限://media/external/audio/media/1324
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setMessage("Are you sure you want to delete " + mSongList.get(selectedPosition).getSongName());
alert.setPositiveButton("YES", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ContentResolver contentResolver = getActivity().getContentResolver();
contentResolver.delete(mSongList.get(selectedPosition).getSongUri(), null, null);
mSongList.remove(selectedPosition);
mAdapterListFile.notifyDataSetChanged();
serviceMusic.setSongList(mSongList);
dialog.dismiss();
}
});
alert.setNegativeButton("NO", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alert.show();
发布于 2020-12-19 01:38:39
您应该从异常中接受recoverableSecurityException.userAction.actionIntent.intentSender
,并使用Activity.startIntentSenderForResult()
解除删除文件的权限。
检查这个样例项目:https://github.com/android/storage-samples/tree/main/MediaStore
https://stackoverflow.com/questions/65360293
复制相似问题