java - Android -Permission Denial:编写 com.android.providers.downloads.DownloadStorageProvide
问题描述
在我的应用程序中,我要求从图库用户中选择的文件之后可以删除选定的文件,但我找不到任何合适的解决方案来删除选定的 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;
}
}
在获得 onactivity 结果的结果后,我只想删除删除选定的文件路径数据,所以如果用户选择了错误的文件,那么他可以在不上传的情况下删除文件。 在调用 getcontentResolver 时更新 2我遇到了安全异常,例如
引起:java.lang.SecurityException: Permission Denial: writing com.android.providers.downloads.DownloadStorageProvider uri content://com.android.providers.downloads.documents/document/raw%3A%2Fstorage%2Femulated%2F0%2FDownload pid=22959, uid=10115 的 %2FCSP.pdf 需要 android.permission.MANAGE_DOCUMENTS 或 grantUriPermission()
但我为此添加了所有许可任何解决方案。
解决方案
推荐阅读
- python - 删除 django 文件时出现权限错误
- java - 处理 MVVM 架构中的输入和 Firebase 错误
- python - 在 Google Colab 中使用 pathlib:AttributeError:“PosixPath”对象没有属性“ls”
- c# - 按钮命令不起作用,集合视图内的按钮
- java - 将基本身份验证添加到 Swagger UI
- c# - 本地进程输出的 grpc-dotnet 服务器流式传输
- ssl - 如何验证文件的 SSL 时间戳
- kubernetes - Kubernetes - 集群内的网络 -
- java - 抛出和捕获异常
- objective-c - 使用 Objective-C 在 tableview 中对 NSMutableArray 进行排序