2 years ago
#55119
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