Я хотел бы открыть загруженные html-файлы через браузер, передав их в намерение и запустив их из моей активности.Открыть html-файл в браузере от намерения
Я знаю, что существует дюжина потоков об этой проблеме (например, this).
Однако ни один из этих подходов не работает.
До сих пор у меня есть:
File file = //myHTMLFile;
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
browserIntent.setData(Uri.fromFile(file));
Я попытался установить Mimeypes как текст/html, добавление/удаление категорий и даже с использованием кратной Mimetypes и дополнительный флаг MIMETYPE, но ни одна из этих идей не работал меня.
В настоящее время открывается браузер по умолчанию, который не может отобразить файл. Я хотел бы открыть файлы в Chrome, Firefox или других популярных браузерах.
Также странно: Uri-String, который я получаю от Uri.fromFile(), недоступен для Chrome.
Путь выглядит как file: ///data/data/myapp/website.html.
Сам файл находится по адресу /storage/emulated/0/myapp/website.html. Передавая это значение с префиксом file: ///, Chrome покажет веб-сайт.
Is Uri.fromFile правильный?
Спасибо за быстрый ответ! Теперь я создаю файл во внешнем хранилище. Есть ли другие способы открыть файл в Chrome прямо через намерение? При копировании файла: /// - путь в Chrome напрямую, он загрузит сайт – Frame91
@ Frame91: «Сейчас я создаю файл во внешнем хранилище» - это не то, на что указывает «файл», на основе что у вас есть в вашем вопросе. «Есть ли другие способы открыть файл в Chrome прямо через намерение?» - Я не знаю, какие схемы поддерживает Chrome, и эти схемы могут измениться в будущих версиях Chrome. 'http' и' https' кажутся сильными кандидатами, и было бы неплохо, если бы Chrome поддерживал 'content', для использования с' FileProvider' или собственным 'ContentProvider'. – CommonsWare
Теперь я исправил проблему с внешним хранилищем, вот что я имел в виду. У меня была небольшая ошибка, и теперь URI создан правильно. Спасибо, что указали на ошибку! – Frame91