在我的应用程序中,我要求从画廊用户处选择文件后可以删除选择的文件,但是如果我将其转换为文件并删除,然后将文件永久删除,则找不到如何删除选择的URI的任何合适的解决方案来自文件存储的任何建议
更新:
我也尝试下面的代码,但它给定的异常
“试图在空对象引用上调用虚拟方法'android.content.ContentResolver android.content.Context.getContentResolver()'”
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION && resultCode == Activity.RESULT_OK) {
uri = data.getData();
//String filePath = getRealPathFromURIPath(uri, CreateInquiry.this);
String filePath = FileUtils.getRealPath(getApplicationContext(),uri);
File file = new File(filePath);
remove(uri);
AttachedFileDao dao=new AttachedFileDao();
dao.setFileName(file.getName());
dao.setFileUri(filePath);
attachedFile.add(dao);
fileAdpter=new AttachedFileAdpter(attachedFile,getApplicationContext());
recyclerView.setAdapter(fileAdpter);
}
}
public boolean remove(final Uri uri) {
try {
context.getContentResolver().delete(uri, null, null);
return true;
} catch (Throwable e) {
e.printStackTrace();
return false;
}
}
在获得非活动结果后,我只想删除删除选中的文件路径数据,因此,如果用户选择了错误的文件,则他可以删除该文件而无需上传。 更新2 打电话给getcontentResolver时,我得到了类似的安全异常
原因:java.lang.SecurityException:权限被拒绝:编写com.android.providers.downloads.DownloadStorageProvider uri内容://com.android.providers.downloads.documents/document/raw%3A%2Fstorage%2Femulated%来自pid = 22959的2F0%2FDownload%2FCSP.pdf,uid = 10115需要android.permission.MANAGE_DOCUMENTS或grantUriPermission()
但是我为所有解决方案添加了所有权限。