Обработка внешних ссылок в Android WebView
Я хочу открыть свое приложение и загрузить URL-адрес при нажатии на конкретные ссылки.
Это мой манифест для обработки внешних ссылок.
<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:scheme="http" android:host="www.android.com" />
<data android:scheme="https" android:host="www.android.com" />
</intent-filter>
И для обработки входящих ссылок это код
intentData = getIntent().getData();
if(intentData !=null){
loadUrl = intentData.toString();
}else {
loadUrl = "https://www.android.com";
}
webView.loadUrl(loadUrl);
Теперь, когда я нажал https://www.android.com/ из внешнего приложения, например, WhatsApp загружен в веб-браузере, но веб-приложение подключено к WhatsApp. Проверьте скриншоты ниже.
И если кто-то может дать мне какие-либо советы или подсказать мне, как открыть мое приложение, когда я открываю URL ( https://www.android.com/) из Google Chrome(в моем телефоне), это очень поможет.
3 ответа
Для второй части вашего вопроса:
И если кто-то может дать мне какие-либо советы или подсказать мне, как открыть мое приложение, когда я открываю URL ( https://www.android.com/) из Google Chrome(в моем телефоне), это очень поможет.
взгляните на этот ответ:
"По сути, команда Chrome считает, что если пользователь действительно вводит что-то в адресную строку, перенаправление никогда не должно происходить. Как вы обнаружили, это противоречит поведению во всех других браузерах".
Используйте эту строку в файле манифеста вашей деятельности, которая обрабатывает, чтобы избежать такой проблемы.
android:launchMode="singleTask"
Вы можете найти подробную реализацию здесь, https://developer.android.com/guide/webapps/webview.html
Вы должны переопределить методы и обрабатывать клики.