Принудительно открывать ссылки в приложении, а не в браузере по умолчанию

16

Например, я получил письмо от Pinterest с интересными ссылками на неделю. Когда я нажимаю на булавку, она открывается в Chrome, а не в приложении Pinterest. Это случилось с несколькими приложениями, и было интересно, есть ли способ «открыть ссылку с» типом функции.

Можно ли принудительно открывать ссылки в соответствующем приложении, а не в браузере по умолчанию (например, Chrome)?

user26671
источник

Ответы:

13

Приложения могут запросить открытие ссылок с помощью приложения, используя API, называемый «фильтром намерений».

Если приложение имеет правильный фильтр намерений, вам будет предложено открыть ссылку, используя это приложение, и приложение затем что-то с ним сделает.

Это имеет быть закодирован в разработчиком приложения, и нет никакого способа , чтобы осуществить это самостоятельно , если вы не декомпилировать приложение и добавить его в.

Примером приложения, которое делает это, является приложение Google+.

Лиам W
источник
2
Дополнительные примеры включают в себя: Twitter, Google Maps, Foursquare. Так что это полностью зависит от разработчиков приложений.
Эль
2
Мне кажется странным, что приложение Gmail этого не делает. Например: в Chrome на Android, нажмите на недавнюю вкладку, показывающую электронную почту на рабочем столе Chrome; в этом случае имеет смысл открыть это письмо в приложении Gmail.
авернет
Пожалуйста, не могли бы вы предоставить некоторую документацию или дополнительную информацию о фильтре намерений? Большое спасибо, вы, вероятно, получите гораздо больше кредитов для этого ответа, очень полезно.
1984
6

Это вспомогательное приложение делает ссылки Facebook, Twitter, Instagram, GitHub и Goodreads открытыми в их приложениях вместо браузера: Открыть ссылку в приложении

Он еще не поддерживает Pinterest, но если вы технический, то легко добавлять новые приложения и не требовать написания кода! Подробности в репозитории GitHub .

Райана
источник
1
Я установил Open Link в приложении, и он работает! У меня есть приложение для базы данных, и я добавил поле для URL в одну из таблиц, и оно всегда открывалось в браузере. Спасибо, что поделились.
г-н Ксимон
Это не работает с Firefox в Android, хотя?
эндолиты
1

Если ссылки открывались в Chrome по умолчанию, все, что мне нужно было сделать, это перейти в Настройки -> Приложения -> Установить по умолчанию, выбрать приложение Chrome и нажать Clear defaults .

В следующий раз, когда я щелкнул ссылку, телефон попросил меня Open withуказать только две опции: Chrome и Samsung Internet Browser. Когда я выбираю Chrome Just once, то сноваOpen with появляется, но на этот раз с 3 вариантами: Pinterest, Chrome и Samsung Internet Browser. Я выбрал Pinterest, а затем Alwaysвсе.

Не уверен, почему, но это сработало.

Jeena
источник
Я не использую Pinterest, но могу предположить, что первая ссылка - это сокращенный / компактный URL, который не распознается приложением Pinterest, затем браузер перенаправляет на ссылку, которая теперь распознается приложением Pinterest, следовательно, дополнительная опция по 2-й ссылке. (дополнительная информация о том, как это работает, находится в существующем ответе )
Эндрю Т.
0

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

Но вы, возможно, видели, что некоторые ссылки (особенно ссылки на приложения для Android на рынке) можно открыть с помощью приложения Android Market / Google Play Store. Это возможно, потому что эти ссылки используют market://в своих ссылках, а не типичныеhttp://

Если вам нужно это подтвердить, попробуйте очистить настройки браузера Chrome по умолчанию. Это заставит вас выбрать приложение для открытия ссылки, когда вы нажимаете на них. Это даст вам открытую ссылку с возможностью (конечно, использовать приложения браузера)

Для этого перейдите Settings -> Appsи выберите приложение Chrome. Прокрутите вниз, найдите кнопку очистки по умолчанию и нажмите ее.

Sid
источник
4
Это на самом деле не правда. Приложение может зарегистрировать намерение открыть любой URL, даже если оно использует http. Например, приложение Play Store будет обрабатывать как http://play.google.com/store/apps/details?id=fooссылки, так и market://ссылки.
Дэн Халм
-3

Разработчики приложений - это те, кто добавляет браузер в приложение через обновление. Если разработчик приложения Pinterest не добавил функциональность браузера, то невозможно открыть внешние ссылки в приложении.

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

Крис
источник
2
Я не думаю, что это именно то, что ищет спрашивающий. Речь идет не о приложениях со встроенным браузером, а об использовании приложения для открытия контента из этого приложения, а не об открытии браузера и переходе на веб-сайт приложения. В этом примере ссылка находится в Gmail, и спрашивающий хочет открыть контент Pinterest с помощью приложения Pinterest, а не веб-браузера. Это не «урезанный» браузер, встроенный в приложение.
Дан Халм
Извините, но я должен удалить последний раздел, потому что он рассматривается как «только для ссылок» без непосредственного упоминания шагов. Не стесняйтесь добавлять ссылку обратно, а также цитируя соответствующий контент, чтобы сделать ответ автономным (если ссылка гаснет, то контент все еще сохраняется). Кроме того, если вы связаны с сайтом, вы должны упоминать его в каждом посте / комментарии (далее: как не быть спамером ). В противном случае вы можете игнорировать это.
Андрей Т.