Hình ảnh sang javascript base64

Nếu bạn muốn phân phối một ứng dụng web [hoặc chỉ một trang web] như một phần của ứng dụng khách, bạn có thể thực hiện việc đó bằng cách sử dụng

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9. Lớp
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 là một phần mở rộng của lớp
val myWebView = WebView[activityContext]
setContentView[myWebView]
1 của Android cho phép bạn hiển thị các trang web như một phần của bố cục hoạt động của bạn. Nó không bao gồm bất kỳ tính năng nào của trình duyệt web được phát triển đầy đủ, chẳng hạn như điều khiển điều hướng hoặc thanh địa chỉ. Theo mặc định, tất cả những gì mà
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 làm là hiển thị một trang web

Một tình huống phổ biến trong đó việc sử dụng

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 hữu ích là khi bạn muốn cung cấp thông tin trong ứng dụng của mình mà bạn có thể cần cập nhật, chẳng hạn như thỏa thuận người dùng cuối hoặc hướng dẫn người dùng. Trong ứng dụng Android của mình, bạn có thể tạo một
val myWebView = WebView[activityContext]
setContentView[myWebView]
4 chứa một
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9, sau đó sử dụng nó để hiển thị tài liệu của bạn được lưu trữ trực tuyến

Một tình huống khác mà

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 có thể trợ giúp là nếu ứng dụng của bạn cung cấp dữ liệu cho người dùng luôn yêu cầu kết nối Internet để truy xuất dữ liệu, chẳng hạn như email. Trong trường hợp này, bạn có thể thấy rằng việc tạo một
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 trong ứng dụng Android hiển thị một trang web có tất cả dữ liệu người dùng sẽ dễ dàng hơn thay vì thực hiện một yêu cầu mạng, sau đó phân tích cú pháp dữ liệu và hiển thị nó trong một bố cục Android. Thay vào đó, bạn có thể thiết kế một trang web phù hợp với thiết bị Android và sau đó triển khai một
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 trong ứng dụng Android tải trang web của bạn

Tài liệu này chỉ cho bạn cách bắt đầu với

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 và cách thực hiện một số thao tác bổ sung, chẳng hạn như xử lý điều hướng trang và liên kết JavaScript từ trang web của bạn với mã phía máy khách trong ứng dụng Android của bạn

Thêm một WebView vào ứng dụng của bạn

Để thêm một

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 vào ứng dụng của mình, bạn có thể bao gồm phần tử
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
21 trong bố cục hoạt động của mình hoặc đặt toàn bộ cửa sổ Hoạt động thành một
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 trong
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
23

Thêm một WebView trong bố cục hoạt động

Để thêm một

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 vào ứng dụng của bạn trong bố cục, hãy thêm mã sau vào tệp XML bố cục của hoạt động của bạn

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
6

Để tải một trang web trong

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9, hãy sử dụng
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
26. Ví dụ

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];

Thêm một WebView trong onCreate[]

Thay vào đó, để thêm một

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 vào ứng dụng của bạn theo phương pháp
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
23 của một hoạt động, hãy sử dụng logic tương tự như sau

Kotlin

val myWebView = WebView[activityContext]
setContentView[myWebView]

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
2

Sau đó tải trang với

Kotlin

val myWebView = WebView[activityContext]
setContentView[myWebView]
5

Java

val myWebView = WebView[activityContext]
setContentView[myWebView]
6

Hoặc tải URL từ chuỗi HTML

Kotlin

val myWebView = WebView[activityContext]
setContentView[myWebView]
7

Java

val myWebView = WebView[activityContext]
setContentView[myWebView]
8

Ghi chú. Có những hạn chế về những gì HTML này có thể làm. Xem

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
29 và
val myWebView = WebView[activityContext]
setContentView[myWebView]
50 để biết thêm thông tin về các tùy chọn mã hóa

Tuy nhiên, trước khi điều này hoạt động, ứng dụng của bạn phải có quyền truy cập Internet. Để truy cập internet, hãy yêu cầu quyền

val myWebView = WebView[activityContext]
setContentView[myWebView]
51 trong tệp kê khai của bạn. Ví dụ

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
2

Đó là tất cả những gì bạn cần cho một

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 cơ bản hiển thị một trang web. Ngoài ra, bạn có thể tùy chỉnh
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của mình bằng cách sửa đổi các mục sau

  • Kích hoạt hỗ trợ toàn màn hình với
    val myWebView = WebView[activityContext]
    setContentView[myWebView]
    
    54. Lớp này cũng được gọi khi một
    WebView myWebView = [WebView] findViewById[R.id.webview];
    myWebView.loadUrl["//www.example.com"];
    
    9 cần quyền thay đổi giao diện người dùng của ứng dụng chủ, chẳng hạn như tạo hoặc đóng cửa sổ và gửi hộp thoại JavaScript cho người dùng. Để tìm hiểu thêm về gỡ lỗi trong ngữ cảnh này, hãy đọc Gỡ lỗi ứng dụng web
  • Xử lý các sự kiện ảnh hưởng đến hiển thị nội dung, chẳng hạn như lỗi khi gửi biểu mẫu hoặc điều hướng với
    val myWebView = WebView[activityContext]
    setContentView[myWebView]
    
    56. Bạn cũng có thể sử dụng lớp con này để chặn tải URL
  • Kích hoạt JavaScript bằng cách sửa đổi
    val myWebView = WebView[activityContext]
    setContentView[myWebView]
    
    57
  • Sử dụng JavaScript để truy cập các đối tượng khung Android mà bạn đã thêm vào một
    WebView myWebView = [WebView] findViewById[R.id.webview];
    myWebView.loadUrl["//www.example.com"];
    
    9

Làm việc với WebView trên các phiên bản Android cũ hơn

Để sử dụng một cách an toàn các khả năng WebView mới hơn trên thiết bị mà ứng dụng của bạn đang chạy, hãy thêm AndroidX Webkit. Thư viện

val myWebView = WebView[activityContext]
setContentView[myWebView]
59 là thư viện tĩnh mà bạn có thể thêm vào ứng dụng của mình để sử dụng API
val myWebView = WebView[activityContext]
setContentView[myWebView]
60 không có sẵn cho các phiên bản nền tảng cũ hơn

Sử dụng JavaScript trong WebView

Nếu trang web bạn định tải trong

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của mình sử dụng JavaScript, bạn phải bật JavaScript cho
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của mình. Khi JavaScript được bật, bạn cũng có thể tạo giao diện giữa mã ứng dụng và mã JavaScript của mình

Bật JavaScript

JavaScript bị tắt trong

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 theo mặc định. Bạn có thể kích hoạt nó thông qua
val myWebView = WebView[activityContext]
setContentView[myWebView]
57 đính kèm với
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn. Bạn có thể truy xuất
val myWebView = WebView[activityContext]
setContentView[myWebView]
57 bằng
val myWebView = WebView[activityContext]
setContentView[myWebView]
67, sau đó bật JavaScript bằng
val myWebView = WebView[activityContext]
setContentView[myWebView]
68

Ví dụ

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
90

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
91

val myWebView = WebView[activityContext]
setContentView[myWebView]
57 cung cấp quyền truy cập vào nhiều cài đặt khác mà bạn có thể thấy hữu ích. Ví dụ: nếu bạn đang phát triển ứng dụng web được thiết kế dành riêng cho
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 trong ứng dụng Android của mình, thì bạn có thể xác định chuỗi tác nhân người dùng tùy chỉnh bằng
val myWebView = WebView[activityContext]
setContentView[myWebView]
71, sau đó truy vấn tác nhân người dùng tùy chỉnh trong trang web của bạn để xác minh rằng ứng dụng khách yêu cầu

Liên kết mã JavaScript với mã Android

Khi phát triển ứng dụng web được thiết kế dành riêng cho

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 trong ứng dụng Android của bạn, bạn có thể tạo giao diện giữa mã JavaScript của mình và mã Android phía máy khách. Ví dụ: mã JavaScript của bạn có thể gọi một phương thức trong mã Android của bạn để hiển thị một
val myWebView = WebView[activityContext]
setContentView[myWebView]
73, thay vì sử dụng hàm
val myWebView = WebView[activityContext]
setContentView[myWebView]
74 của JavaScript

Để liên kết một giao diện mới giữa mã JavaScript và Android của bạn, hãy gọi

val myWebView = WebView[activityContext]
setContentView[myWebView]
75, chuyển cho nó một phiên bản lớp để liên kết với JavaScript của bạn và một tên giao diện mà JavaScript của bạn có thể gọi để truy cập lớp

Ví dụ: bạn có thể đưa lớp sau vào ứng dụng Android của mình

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
92

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
93

thận trọng. Nếu bạn đã đặt

val myWebView = WebView[activityContext]
setContentView[myWebView]
76 của mình thành 17 hoặc cao hơn, thì bạn phải thêm chú thích
val myWebView = WebView[activityContext]
setContentView[myWebView]
77 vào bất kỳ phương thức nào mà bạn muốn có sẵn cho JavaScript của mình và phương thức đó phải ở chế độ công khai. Nếu bạn không cung cấp chú thích, trang web của bạn không thể truy cập phương pháp này khi chạy trên Android 4. 2 hoặc cao hơn

Trong ví dụ này, lớp

val myWebView = WebView[activityContext]
setContentView[myWebView]
78 cho phép trang web tạo thông báo
val myWebView = WebView[activityContext]
setContentView[myWebView]
79, sử dụng phương thức
val myWebView = WebView[activityContext]
setContentView[myWebView]
80

Bạn có thể liên kết lớp này với JavaScript chạy trong

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn với
val myWebView = WebView[activityContext]
setContentView[myWebView]
75 và đặt tên cho giao diện là
val myWebView = WebView[activityContext]
setContentView[myWebView]
83. Ví dụ

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
94

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
95

Điều này tạo ra một giao diện có tên là

val myWebView = WebView[activityContext]
setContentView[myWebView]
83 cho JavaScript chạy trong
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9. Tại thời điểm này, ứng dụng web của bạn có quyền truy cập vào lớp
val myWebView = WebView[activityContext]
setContentView[myWebView]
78. Ví dụ: đây là một số HTML và JavaScript tạo thông báo chúc mừng bằng giao diện mới khi người dùng nhấp vào nút

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
96

Không cần khởi tạo giao diện

val myWebView = WebView[activityContext]
setContentView[myWebView]
83 từ JavaScript.
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 tự động cung cấp cho trang web của bạn. Vì vậy, khi người dùng nhấp vào nút, hàm
val myWebView = WebView[activityContext]
setContentView[myWebView]
89 sử dụng giao diện
val myWebView = WebView[activityContext]
setContentView[myWebView]
83 để gọi phương thức
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
21

Ghi chú. Đối tượng được liên kết với JavaScript của bạn chạy trong một luồng khác chứ không phải trong luồng mà nó được tạo

thận trọng. Sử dụng

val myWebView = WebView[activityContext]
setContentView[myWebView]
75 cho phép JavaScript kiểm soát ứng dụng Android của bạn. Đây có thể là một tính năng rất hữu ích hoặc một vấn đề bảo mật nguy hiểm. Khi HTML trong
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 không đáng tin cậy [ví dụ: một phần hoặc toàn bộ HTML được cung cấp bởi một người hoặc quy trình không xác định], thì kẻ tấn công có thể bao gồm HTML thực thi mã phía máy khách của bạn và có thể là bất kỳ mã nào do kẻ tấn công chọn. Như vậy, bạn không nên sử dụng
val myWebView = WebView[activityContext]
setContentView[myWebView]
75 trừ khi bạn đã viết tất cả HTML và JavaScript xuất hiện trong
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của mình. Bạn cũng không nên cho phép người dùng điều hướng đến các trang web khác không phải của riêng bạn, trong
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn. Thay vào đó, hãy cho phép ứng dụng trình duyệt mặc định của người dùng mở các liên kết nước ngoài—theo mặc định, trình duyệt web của người dùng sẽ mở tất cả các liên kết URL, vì vậy, hãy cẩn thận chỉ khi bạn xử lý điều hướng trang như được mô tả trong phần sau]

Xử lý điều hướng trang

Khi người dùng nhấp vào liên kết từ một trang web trong

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn, hành vi mặc định dành cho Android là khởi chạy ứng dụng xử lý URL. Thông thường, trình duyệt web mặc định sẽ mở và tải URL đích. Tuy nhiên, bạn có thể ghi đè hành vi này cho
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của mình, vì vậy các liên kết sẽ mở trong
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn. Sau đó, bạn có thể cho phép người dùng điều hướng ngược và xuôi qua lịch sử trang web của họ được duy trì bởi
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn

Ghi chú. Vì lý do bảo mật, ứng dụng trình duyệt của hệ thống không chia sẻ dữ liệu ứng dụng của nó với ứng dụng của bạn

Để mở các liên kết được người dùng nhấp vào, hãy cung cấp

val myWebView = WebView[activityContext]
setContentView[myWebView]
56 cho
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn, sử dụng
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
903. Ví dụ

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
97

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
98

Tất cả các liên kết mà người dùng nhấp vào tải trong

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn

Nếu bạn muốn kiểm soát nhiều hơn nơi tải liên kết được nhấp, hãy tạo

val myWebView = WebView[activityContext]
setContentView[myWebView]
56 của riêng bạn ghi đè phương thức
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
906. Ví dụ sau giả định rằng
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
907 là một lớp bên trong của
val myWebView = WebView[activityContext]
setContentView[myWebView]
4

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
99

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
0

Sau đó, tạo một phiên bản của

val myWebView = WebView[activityContext]
setContentView[myWebView]
56 mới này cho
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
1

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
2

Bây giờ khi người dùng nhấp vào một liên kết, hệ thống sẽ gọi

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
906 để kiểm tra xem máy chủ URL có khớp với một miền cụ thể hay không [như đã xác định ở trên]. Nếu nó khớp, thì phương thức trả về false để không ghi đè quá trình tải URL [nó cho phép
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 tải URL như bình thường]. Nếu máy chủ lưu trữ URL không khớp, thì một
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
913 sẽ được tạo để khởi chạy Hoạt động mặc định để xử lý URL [phân giải thành trình duyệt web mặc định của người dùng]

Xử lý các URL tùy chỉnh

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 áp dụng các hạn chế khi yêu cầu tài nguyên và giải quyết các liên kết sử dụng lược đồ URL tùy chỉnh. Ví dụ: nếu bạn triển khai các cuộc gọi lại như
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
906 hoặc
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
916, thì
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 chỉ gọi chúng cho các URL hợp lệ

Ví dụ:

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 không thể gọi phương thức
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
906 của bạn cho các liên kết như thế này

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
3

Các URL không hợp lệ như trên được xử lý không nhất quán trong WebView, vì vậy, chúng tôi khuyên bạn nên sử dụng URL có định dạng tốt để thay thế, chẳng hạn như sử dụng lược đồ tùy chỉnh hoặc sử dụng URL HTTPS cho miền mà tổ chức của bạn kiểm soát

Thay vì sử dụng một chuỗi đơn giản trong một liên kết như được hiển thị trước đó, bạn có thể sử dụng một lược đồ tùy chỉnh như sau

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
4

Sau đó, bạn có thể xử lý URL này theo phương pháp

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
906 của mình như thế này

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
5

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
6

API

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
906 chủ yếu dành cho việc khởi chạy ý định cho các URL cụ thể. Khi triển khai, hãy đảm bảo trả lại
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
922 cho các URL mà
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 sẽ xử lý. Tuy nhiên, bạn không bị giới hạn trong việc khởi chạy ý định;

thận trọng. Đừng gọi

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
26,
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
925 hoặc các phương pháp tương tự từ bên trong
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
906. Điều này dẫn đến các ứng dụng không hiệu quả. Điều hiệu quả hơn cần làm là trả lại
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
922 để cho phép WebView tiếp tục tải URL với triển khai mặc định của nó

Điều hướng lịch sử trang web

Khi

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 của bạn ghi đè tải URL, nó sẽ tự động tích lũy lịch sử các trang web đã truy cập. Bạn có thể điều hướng lùi và tiến trong lịch sử với
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
929 và
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
930

Ví dụ: phần sau đây cho thấy cách

val myWebView = WebView[activityContext]
setContentView[myWebView]
4 của bạn có thể sử dụng nút Quay lại của thiết bị để điều hướng lùi lại

Kotlin

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
7

Java

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
8

Phương thức

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
932 trả về true nếu thực sự có lịch sử trang web để người dùng truy cập. Tương tự như vậy, bạn có thể sử dụng
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
933 để kiểm tra xem có lịch sử chuyển tiếp hay không. Nếu bạn không thực hiện kiểm tra này, thì sau khi người dùng xem hết lịch sử,
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
929 hoặc
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
930 sẽ không làm gì cả

Xử lý thay đổi cấu hình thiết bị

Trong thời gian chạy, trạng thái hoạt động thay đổi xảy ra khi cấu hình của thiết bị thay đổi, chẳng hạn như khi người dùng xoay thiết bị hoặc loại bỏ trình chỉnh sửa phương thức nhập [IME]. Những thay đổi này khiến hoạt động của đối tượng

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 bị hủy và hoạt động mới được tạo, hoạt động này cũng tạo đối tượng
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
9 mới tải URL của đối tượng bị hủy. Để sửa đổi hành vi mặc định của hoạt động của bạn, bạn có thể thay đổi cách nó xử lý các thay đổi của
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
938 trong bảng kê khai của bạn. Để tìm hiểu thêm về cách xử lý thay đổi cấu hình trong thời gian chạy, hãy đọc Xử lý thay đổi cấu hình

quản lý cửa sổ

Theo mặc định, các yêu cầu mở cửa sổ mới sẽ bị bỏ qua. Điều này đúng cho dù chúng được mở bằng JavaScript hay bằng thuộc tính đích trong một liên kết. Bạn có thể tùy chỉnh

val myWebView = WebView[activityContext]
setContentView[myWebView]
54 của mình để cung cấp hành vi của riêng bạn để mở nhiều cửa sổ

thận trọng. Để giữ cho ứng dụng của bạn an toàn hơn, tốt nhất bạn nên ngăn cửa sổ bật lên và cửa sổ mới mở. Cách an toàn nhất để thực hiện hành vi này là chuyển

WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
940 vào
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
941 nhưng không ghi đè phương thức
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
942, mà
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
943 phụ thuộc vào. Lưu ý rằng logic này ngăn bất kỳ trang nào sử dụng
WebView myWebView = [WebView] findViewById[R.id.webview];
myWebView.loadUrl["//www.example.com"];
944 trong các liên kết của nó tải

Chủ Đề