В данный момент я застрял в этой ситуации, и, похоже, по этому конкретному вопросу не задают никаких вопросов.
Я пытаюсь открыть файл .txt
после загрузки, и я хочу проверить, есть ли у пользователя приложение, которое сможет открыть этот файл, до его фактической загрузки.
На моем эмулированном телефоне с API 26 есть встроенный редактор HTML, который может открывать текстовые файлы, а также приложение браузера Chrome.
Я уже впервые открыл эти приложения на случай, если это может помешать, и я до сих пор не могу заставить это работать.
Чтобы проверить, можно ли открыть файл, я использую следующий метод:
getPackageManager().queryIntentActivities(intent, 0);
И это никогда не работает, оно всегда возвращает 0 действий, но как только я устанавливаю специальный текстовый редактор, он возвращается в запросе, но только один. Однако, как только я перехожу к меню приглашения, в нем перечислены 3 способа открытия текстового файла: браузер Chrome, редактор HTML и текстовый редактор.
Таким образом, он распознает браузер Chrome и HTML-редактор как способный читать файлы .txt
во время запроса, но запрос явно не может этого сделать.
Вот как я строю Намерение:
intent = new Intent(Intent.ACTION_VIEW);
intent.setType(fileExtension); // this can be a String .txt .pdf etc
Как я могу узнать, существуют ли на самом деле приложения, способные открывать файл, когда queryIntentActivities
явно не работает правильно?