Мое приложение Android должно проверить, присутствует ли в файловой системе подпапка (родительская папка была выбрана пользователем).Следующий код предназначен для выполнения проверки:
static public boolean folderExists(Activity activity,String folderUriString)
{
ContentResolver contentResolver;
contentResolver = activity.getContentResolver();
Log.d("folder name",folderUriString); // it's content://com.android.providers.downloads.documents/tree/raw%3A%2Fstorage%2Femulated%2F0%2FDownload%2Faccesspoint1/subfoldername
Uri folderUri = Uri.parse(folderUriString);
boolean isTreeUri=DocumentsContract.isTreeUri(folderUri);
boolean exists = DocumentFile.fromTreeUri (activity,folderUri).exists();
Log.d("is treeUri",String.valueOf(isTreeUri)); //true
Log.d("folder exists",String.valueOf(exists)); //true
return exists;
}
Этот код не работает, поскольку он возвращает истинное значение, если папка не существует (никогда не создавалась, не создавалась и не удалялась), даже если родительский объектсама папка не существует.Я использую приложение файловой системы на своем устройстве для проверки каталогов.Какой правильный код?