首页 > 解决方案 > 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()

但我为此添加了所有许可任何解决方案。

标签: javaandroiduriandroid-contentresolver

解决方案


推荐阅读