2 years ago

#55119

test-img

Himanshu

Getting FileNotFound exception on android 11

Trying to fetch whatsapp statuses files. Some files are accessible but some are throwing FileNotfound Exception on Android 11, Even all files are there in the .Statuses folder.

Step 1: I have gained permission(ACTION_OPEN_DOCUMENT_TREE) of statuses folder

final String ANDROID_DOCID = "primary:"+whatsApp_root_path;
final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
private Uri androidUri = DocumentsContract.buildDocumentUri(EXTERNAL_STORAGE_PROVIDER_AUTHORITY, ANDROID_DOCID);
private Uri androidTreeUri = DocumentsContract.buildTreeDocumentUri(EXTERNAL_STORAGE_PROVIDER_AUTHORITY, ANDROID_DOCID);
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, androidUri);
startActivityForResult(intent, 1001);

Step 2: In onActivityResult I am fetching files by using DocumentFile.fromTreeUri(this, uri)

Uri uri = data.getData();
DocumentFile documentFile1 = DocumentFile.fromTreeUri(this, uri);
        DocumentFile[] fileList = documentFile1.listFiles();
        Uri documentFileUri = null;
        for (DocumentFile documentFile:fileList) {
            documentFileUri = documentFile.getUri();
            if(documentFileUri.toString().contains(".Statuses")){
                MyLog.d("\nSTATUSES uri" + documentFileUri.toString());
                break;
            }
        }
        DocumentFile documentStatusesFile = DocumentFile.fromTreeUri(this, documentFileUri);
        if(documentStatusesFile != null){
            DocumentFile[] statusesFiles = documentStatusesFile.listFiles();
            MyLog.d("\nSTATUSES uris START");
            for (DocumentFile statusFile :statusesFiles) {
                Uri statusUri = statusFile.getUri();
                MyLog.d("\nuri :"+statusUri.toString());
                Uri mediaUri = null;
                try{
                    mediaUri = MediaStore.getMediaUri(CommonApp.getContext(), statusUri);
                }catch (Exception e){
                    e.printStackTrace();
                }
         }

MediaStore.getMediaUri() - Getting exception on this line

Exception is : java.lang.IllegalArgumentException: java.io.FileNotFoundException: No item at content://media/external_primary/file

android

mediastore

android-11

0 Answers

Your Answer

Accepted video resources