Не удается увидеть существующие файлы на телефоне Android - PullRequest
0 голосов
/ 24 сентября 2018

Рассмотрим следующий код:

string folder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string file = Path.Combine(folder, "test.txt");
File.WriteAllText(file, "test");
string content = File.ReadAllText(file);

Запустив это на моем телефоне, я подтвердил, что строка content имеет значение «test», поэтому файл определенно был создан и записан во внутреннее хранилище.,

Далее я прокомментировал строку WriteAllText и подтвердил при втором запуске программы, что файл все еще был там, потому что значение content снова было "test".

Нокогда я смотрю в папку, возвращаемую GetFolderPath с помощью файлового менеджера моего телефона, она пуста.Нет файла test.txt.

Итак, вопрос в том, почему я не вижу файл?

1 Ответ

0 голосов
/ 24 сентября 2018

Если телефон не является рутом и файловый менеджер не имеет прав root, вы не сможете увидеть эти файлы (обычно в /data/data/package.name/files)

Если вы хотите видеть их, используя свой код,рассмотрите возможность использования:

String path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Log.d("Files", "Path: " + path);
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++)
{
    Log.d("Files", "FileName:" + files[i].getName());
}

Ваше приложение должно регистрировать их без проблем.

Если файлы нужны вне приложения, рассмотрите возможность использования внешнего хранилища.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...