Проблемы со сканированием эмулятора Android на наличие файлов на МауиAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблемы со сканированием эмулятора Android на наличие файлов на Мауи

Сообщение Anonymous »

Я делаю приложение для чтения Android на Мауи и застрял на автоматическом поиске файлов fb2 и txt. Я также поместил в хранилище файлы png и jpg, и программа нашла их, но не fb2 и txt, которые находятся в одном каталоге.
Я пробовал использовать MediaStore:

Код: Выделить всё

   public static List GetFilesFromMediaStore(string[] fileExtensions)
{
var result = new List();
var uri = MediaStore.Files.GetContentUri("external");

var selection = string.Join(" OR ", fileExtensions.Select(ext => $"_data LIKE '%.{ext}'"));

string[] projection = {
MediaStore.Files.FileColumns.Data,
MediaStore.Files.FileColumns.DisplayName
};

using (var cursor = Android.App.Application.Context.ContentResolver.Query(uri, projection, selection, null, null))
{
if (cursor != null && cursor.MoveToFirst())
{
do
{
var filePath = cursor.GetString(cursor.GetColumnIndexOrThrow(MediaStore.Files.FileColumns.Data));
result.Add(filePath);
}
while (cursor.MoveToNext());
}
}

return result;
}
и попробовал java.io:

Код: Выделить всё

public static List GetFilesJavaIO(string rootPath)
{
var result = new List();

var rootDir = new Java.IO.File(rootPath);
if (!rootDir.Exists() || !rootDir.IsDirectory)
{
Debug.WriteLine($"Path is not a directory or doesn't exist: {rootPath}");
return result;
}

var filesAndDirs = rootDir.ListFiles();
if (filesAndDirs == null) return result;

foreach (var fileOrDir in filesAndDirs)
{
if (fileOrDir.IsDirectory)
{
// Рекурсивный вызов для подпапок
result.AddRange(GetFilesJavaIO(fileOrDir.AbsolutePath));
}
else if (fileOrDir.IsFile)
{
result.Add(fileOrDir.AbsolutePath);
}
}

return result;
}
но ничего не работает правильно

Подробнее здесь: https://stackoverflow.com/questions/792 ... es-on-maui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»