Tôi có WebView mà tôi muốn mở liên kết thuộc về tên miền www.example.org trong chế độ xem web trong khi tất cả các liên kết khác (nếu được nhấp) mở bởi trình duyệt mặc định bên ngoài ứng dụng của tôi.Làm cách nào để tạo liên kết mở trong chế độ xem web hoặc mở theo trình duyệt mặc định tùy thuộc vào tên miền?
Tôi đã cố gắng sử dụng boolean shouldOverrideUrlLoading (chế độ xem WebView, URL chuỗi) nhưng nó không hoạt động chính xác.
Dưới đây là đoạn code mà không hoạt động:
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try {
URL urlObj = new URL(url);
if (urlObj.getHost().equals("192.168.1.34")) {
view.loadUrl(url);
return true;
} else {
view.loadUrl(url);
return false;
}
} catch (Exception e) {
}
}
}
Trong cả hai trường hợp (trở thành sự thật và trả lại false) URL được xử lý bởi ứng dụng của tôi.
Mã này thực sự mang đến cho bạn không có đầu mối những gì các hành vi khác nhau là khi trả lại một giá trị boolean khác nhau bởi vì bạn đang gọi view.loadUrl() trong cả hai trường hợp, do đó sản xuất cùng một kết quả. Nếu bạn đã loại bỏ dòng đó khỏi cả hai câu lệnh, bạn sẽ thấy rằng return false vẫn tải url trong WebView ... và trả về true thì không có gì (bạn phải tự làm điều gì đó). – Devunwired