RecoverableSecurityException无法访问content://media/external/aud



我有一个音乐播放器应用程序,当我试图删除文件时,它可以正常工作。然而,自从API 29以来,当我试图通过contentResolver.delete.删除文件时,我收到了以下错误

android.app.恢复安全异常:musicplayer无法访问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();

您应该从异常中获取recoverableSecurityException.userAction.actionIntent.intentSender,并使用Activity.startIntentSenderForResult()获得删除文件的权限
检查此示例项目:https://github.com/android/storage-samples/tree/main/MediaStore

最新更新