Всегда использовать свойства. Вот некоторые из причин
Вы можете переопределить загрузку URL с помощью следующего кода. Если вы хотите самостоятельно обрабатывать загрузку URL, вернитесь true
. Если URL-адрес должен быть открыт в WebView, верните false
.
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// Insert logic here
}
}
Если вы просто хотите открыть внешние ссылки, вы можете использовать следующий код. Если открытый URL-адрес начинается с базового URL-адреса вашего домена, возвращается false
и URL-адрес открывается в WebView. В противном случае намерение ACTION_VIEW
используется для открытия URL-адреса в браузере, и возвращается значение true.
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// Abort if no URL
if (url == null || !(url.startsWith("http://") ||
url.startsWith("https://"))) {
return false;
}
// Abort if internal URL
if (url.startsWith("http://www.myurl.com") ||
url.startsWith("https://www.myurl.com")) {
return false;
}
// Open external URL in browser
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
});
Примечание. Вы должны обрабатывать «http: // ...» и «https: // ...». Потому что метод может быть вызван для обоих.