Как открыть ссылку в моем приложении на 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 пары с каждой ссылкой. Мы также позволяем вашим ссылкам работать, даже если приложение еще не установлено, что называется отложенными глубокими ссылками.

Другие вопросы по тегам