Как открывать ссылки в Android 6 в нужных приложениях?
Собственно — из ВК открываю пост хабра, там ссылка, которая лезет в мобильный браузер, а не в приложение TechMedia, как это было на четвертом андроиде (как-то само всё распознавало). То же касается и Reddit и Medium и FB и других установленных приложений.
Гуглом пользоваться умею, есть только статьи и смене приложений по умолчанию — браузера и чего-то ещё, но это совсем не то, что мне нужно.
Кто знает решение?
UPDATE для особо одарённых — ВК приведён в качестве примера. То же происходит при попытке открыть ссылки из хрома или из другого браузера — они не распознаются и не открываются в установленных приложениях, а тупо в соседней вкладке открываются.
- Вопрос задан более трёх лет назад
- 24345 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Тут сам Android не при чём, просто приложение ВК открывает любые ссылки с помощью своего встроенного браузера с некоторых пор, что значит другие приложения не получают сигнал о попытке открыть эту ссылку и не могут его обработать. Ты можешь отключить встроенный браузер ВК в Настройки -> Основные -> Встроенный браузер.
Как Получить Доступ к Папке DATA & OBB в Android 11 Samsung
Ответ написан более трёх лет назад
Вы внимательно прочитали вопрос? Мне нужно открывать ссылки в соответствующих приложениях, а не в браузерах
Евгений: Вы внимательно прочитали ответ?
Андрей Мывреник: меня устраивает открытие HTTP ссылок во встроенном браузере. Меня не устраивает открытие других ссылок в браузере. То же касается и хрома и прочих. Пример с ВК был приведён в качестве примера.
Вопрос звучит так: «Как открывать различные ссылки в Android 6 в нужных приложениях?»
Евгений: В таком случае ответ на вопрос — никак. Android устроен так, что одно приложение должно послать сигнал о попытке открыть ссылку, а другое приложение должно дать понять системе, что оно способно открыть конкретно эту ссылку (на основе протокола и домена). Если приложение открывает ссылку в своём встроенном браузере, значит оно не посылает этот сигнал и ничего ты с этим не поделаешь. Если же открывается внешний браузер всегда, значит, вероятно, когда система спрашивала тебя, чем открыть данную ссылку, ты выбрал внешний браузер и нажал «больше не спрашивать». Как решить проблему в этом случае это уже другой вопрос.
Источник: qna.habr.com
Как добавить свое приложение в список Открыть с помощью?
Как открыть файл PDF на телефоне Андроид?
но в список все равно не добавляется Подскажите как правильно добавить свое приложение в этот список?
Отслеживать
задан 23 окт 2020 в 6:38
FatherOfFiveChildren FatherOfFiveChildren
568 2 2 серебряных знака 16 16 бронзовых знаков
По-моему атрибуты android:host и android:scheme здесь лишние. Без них будут открываться все изображения со схемой content:// и file:// — если вас это не устраивает, тогда вы должны явно указать все интересующие схемы ( * не катит)
23 окт 2020 в 7:06
спасибо сработало, как обозначить ваш ответ как правильный?
23 окт 2020 в 12:51
Сортировка: Сброс на вариант по умолчанию
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
- java
- android
- xml
- android-manifest
- manifest
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Источник: ru.stackoverflow.com
Настройка общего доступа android приложений к файлам
Чтобы безопасно предложить файл вашего приложения другому приложению, необходимо настроить приложение, чтобы оно предлагало безопасный дескриптор файла, в виде URI содержимого. В Android FileProvider компонент генерирует URI для контента файлов, основанные на спецификации, которую вы предоставляете в XML. Этот урок покажет вам, как добавить реализацию по умолчанию для FileProvider вашего приложения, и как указать файлы, которые вы хотите предлагать другим приложениям.
Примечание: FileProvider класс является частью Библиотеки поддержки v4. Для получения информации о том, как добавить эту библиотеку в ваше приложение, см. Настройка Библиотека Поддержки.
[wpanchor >
Задайте поставщика файлов
Определение FileProvider для вашего приложения требует наличия записи в манифесте. Данная запись определяет полномочия, которые будет использоваться при формировании URI контента, а также имя какого-либо XML файла, который определяет каталоги вашего приложения, которые будут использоваться для общего доступа.
В следующем фрагменте показано, как добавить в ваш манифест элемент, который указывает FileProvider класс, полномочия, и имя XML файла:
В этом примере, android:authorities определяет полномочия URI, который вы хотите использовать для URI контента, сгенерированного FileProvider . В примере, полномочия это com.example.myapp.fileprovider . Для вашего собственного приложения, укажите полномочия, состоящие из значения элемента android:package со строкой “fileprovider”, добавленной к нему. Чтобы узнать больше о значении полномочий, см. раздел URI контента и документацию к android:authorities атрибуту.
[wpanchor >
Укажите каталоги совместного использования
После добавления FileProvider в манифест вашего приложения, вам необходимо указать каталоги, которые содержат файлы общего доступа. Чтобы указать каталоги, начните с создания файла filepaths.xml в res/xml/ подкаталоге вашего проекта. В этом файле укажите каталоги, добавляя XML элемент для каждого каталога. В следующем фрагменте показан пример содержимого res/xml/filepaths.xml . Фрагмент также демонстрирует, как открыть доступ для подкаталога files/ каталога в вашем внутреннем хранилище:
В этом примере, тег открывает доступ к каталогам внутри files/ каталога внутреннего хранилища вашего приложения. path атрибут открывает для общего доступа images/ подкаталог files/ name атрибут говорит FileProvider добавить сегмент пути myimages к URI содержимого для файлов в files/images/ подкаталоге.
элемент может иметь несколько дочерних элементов, каждый из которых определяет другой каталог общего доступа. В дополнение к элементу, вы можете использовать элемент для каталогов общего доступа во внешнем хранилище, и элемент для каталогов в кэше во внутреннем хранилище. Чтобы узнать больше о дочерних элементах, которые определяют общие каталоги, см. документацию к FileProvider .
Примечание: XML файл является единственным способом указать папки, которые вы хотите открыть для общего доступа; вы не можете добавить каталог программно.
Теперь у вас есть полная спецификация о FileProvider , который генерирует URI для контента файлов в files/ каталоге внутреннего хранилища вашего приложения или файлов в подкаталогах files/ . Когда ваше приложение генерирует URI для контента файла, он содержит авторитетный источник, указанный в элементе( com.example.myapp.fileprovider ), путь myimages/ , и имя файла.
Например, если вы определяете FileProvider в соответствии с отрывками кода из этого урока, и вы запрашиваете URI для содержания файла default_image.jpg , FileProvider возвращает следующий URI:
content://com.example.myapp.fileprovider/myimages/default_image.jpg
Если не указано иное, этот контент распространяется под лицензией Creative Commons Attribution 2.5. Для получения дополнительной информации и ограничений, см. Лицензия контента.
Источник: www.fandroid.info