Как написать и прочитать текстовый файл с пользовательским расширением? - PullRequest
0 голосов
/ 08 мая 2019

В моем приложении я создаю файл и записываю в него некоторые данные, используя SAF .Я прошу пользователя ввести имя и затем сохранить некоторые данные в файл.Точно так же я позволил пользователю выбрать файл из хранилища и прочитать из него некоторые данные.Я хочу сделать это с моим собственным расширением файла, скажем ".xyz".

Я нашел несколько источников с фильтрами намерений, но что я знаю о фильтрах намерений, так это то, что они помогают вам открыть файл в каком-то приложении.Я не хочу открывать свое приложение при нажатии на файл.Я просто хочу получить доступ / прочитать файл из приложения.

В настоящее время, когда я могу сохранить файл с расширением .xyz.Но не в состоянии прочитать это.Я добавил следующий код в intent-filter

<data android:host="*" android:scheme="file" android:mimeType="text/plain" android:pathPattern=".*\\.xyz"/>

Вот как я читаю файл:

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/*");
startActivityForResult(intent, READ_REQUEST_CODE);

Когда открывается проводник для выбора файловдля чтения целевые расширения .xyz файлы становятся размытыми.

1 Ответ

1 голос
/ 08 мая 2019

Замените text/* на */*.

Android очень мало делает с пользовательскими расширениями файлов, так же как Интернет очень мало делает с пользовательскими расширениями файлов.В частности, поскольку Android не имеет типа MIME для пользовательского расширения файла, text/* не будет соответствовать ему.

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