Как открыть ссылку в моем приложении на Android
Когда я нажимаю на сообщение своего веб-сайта на веб-сайтах социальных сетей, я хочу открыть этот пост (контент) внутри своего приложения, а не открывать его в веб-браузере.
Например: при нажатии на www.example.com/news/365
откройте этот пост в моем приложении.
Я добавил эти коды в манифест:
<activity android:name=".singleVideo.view.SingleVideoActivity">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.example.com"
android:pathPrefix="/news"
android:scheme="http" />
</intent-filter>
</activity>
И я добавляю эти коды в активность:
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
Теперь, когда я нажимаю на эту ссылку: www.example.com/news/365
, он открывается в моем приложении, но он не показывает содержание сообщения (заголовок, изображение, описание и многое другое...).
Как мне это сделать? Пожалуйста, помогите мне.
Заранее спасибо.
2 ответа
Используйте метод data.getPath().
это вернет 365 (возможно.. прочитайте документ. https://developer.android.com/reference/android/net/Uri.html)
и используйте свой API (REST API)!
если у вас нет API. просто создайте или используйте HTML-библиотеку. (например, jsoup https://jsoup.org/)
Это известно как глубокая связь.
В Интернете URL www.example.com/news/365
это просто адрес, который ваш веб-браузер использует для запроса определенного HTML-документа. Этот HTML-документ содержит код, определяющий, какой контент будет отображаться при загрузке. Адрес www.example.com/news/365
Сам по себе не содержит никакого контента.
То, что вы сделали, добавив эти фрагменты в манифест вашего приложения, и действие связало адрес www.example.com/news/365
с определенной активностью внутри вашего приложения, в дополнение к определенной HTML-странице в Интернете. Это означает, что если ваше приложение установлено и этот адрес открыт, пользователю будет предоставлен выбор (или нет, если autoVerify
Конфигурация реализована правильно) между открытием адреса в веб-браузере или в вашем приложении. Тем не менее, важно знать, что www.example.com/news/365
по-прежнему не содержит никакого контента. Что касается вашего приложения, это просто пустое место. Вам все еще нужно выполнить работу по поиску адреса и использовать его, чтобы определить, какое изображение / заголовок / описание отобразить пользователю.
Не зная всех подробностей о том, как настроены ваше приложение и API, вы не сможете привести пример кода. Официальное руководство по Android-ссылкам - хорошее место для начала.
Кроме того, вы можете взглянуть на платформу глубоких связей, такую как https://branch.io/ (полное раскрытие: я в команде Branch), которая делает все это намного проще, поскольку все, что вам нужно сделать, это передать набор key:value
пары с каждой ссылкой. Мы также позволяем вашим ссылкам работать, даже если приложение еще не установлено, что называется отложенными глубокими ссылками.