Browser

Hiển thị trang web trong trình duyệt mặc định của người dùng.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 8 tháng 2 năm 2023 1.5.0 - - -

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Browser (Trình duyệt), bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

dependencies {
    implementation "androidx.browser:browser:1.5.0"
}

Kotlin

dependencies {
    implementation("androidx.browser:browser:1.5.0")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.5

Phiên bản 1.5.0

Ngày 8 tháng 2 năm 2023

Phát hành androidx.browser:browser:1.5.0. Phiên bản 1.5.0 bao gồm các thay đổi sau.

Các thay đổi quan trọng kể từ phiên bản 1.4.0

  • Thêm CustomTabsIntent.Builder#setInitialActivityHeightPx cho phép nhà phát triển chỉ định chiều cao khởi chạy ban đầu của Thẻ tuỳ chỉnh và hành vi đổi kích thước (cố định hoặc có thể thay đổi kích thước) nếu muốn. (I48bd3)
  • Thêm CustomTabsIntent.Builder#setToolbarCornerRadiusDp cho phép nhà phát triển chỉ định bán kính góc trên cùng của thanh công cụ. (I48bd3)
  • Thêm CustomTabsIntent.Builder#setCloseButtonPosition cho phép nhà phát triển đặt vị trí của nút đóng trên thanh công cụ. (I48bd3)
  • Thêm phương pháp gọi lại onActivityResized vào giao diện CustomTabsCallback để nhà phát triển biết khi nào Thẻ tuỳ chỉnh được thay đổi kích thước. (Ic864e)
  • Đặt các phần của API CustomTabsCallback ở chế độ không đồng bộ. (Ic86df)
  • Điền sẵn ngôn ngữ của ứng dụng hiện tại thành Accept-Language theo mặc định để phù hợp với trải nghiệm ngôn ngữ trên từng ứng dụng của Android. (I3d1d7)
  • Thêm @RequiresPermission vào các API yêu cầu cấp quyền POST_NOTIFICATIONS trên SDK 33 trở lên. Tính năng này được phát triển trong một nhánh nội bộ. Hãy tham khảo b/238790278.

Phiên bản 1.5.0-rc01

Ngày 25 tháng 1 năm 2023

Phát hành androidx.browser:browser:1.5.0-rc01. Phiên bản 1.5.0-rc01 bao gồm các thay đổi sau.

  • Không có thay đổi nào kể từ phiên bản 1.5.0-beta01.

Phiên bản 1.5.0-beta01

Ngày 11 tháng 1 năm 2023

Phát hành androidx.browser:browser:1.5.0-beta01. Phiên bản beta 1.5.0 bao gồm các thay đổi sau.

  • Không có thay đổi nào kể từ phiên bản 1.5.0-alpha02

Phiên bản 1.5.0-alpha02

Ngày 7 tháng 12 năm 2022

Phát hành androidx.browser:browser:1.5.0-alpha02. Phiên bản 1.5.0-alpha02 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thay đổi hành vi CustomTabsCallback#onActivityResized và thêm các tham số mới vào hành vi đó.
  • Đổi tên EXTRA_ACTIVITY_RESIZE_BEHAVIOR thành EXTRA_ACTIVITY_RESIZE_HEIGHT_BEHAVIOR để phản ánh rõ hơn rằng đó là hành vi chỉ liên quan đến chiều cao. (Ic864e)
  • Đặt các phần của API CustomTabsCallback ở chế độ không đồng bộ. (Ic86df)

Phiên bản 1.5.0-alpha01

Ngày 24 tháng 10 năm 2022

Phát hành androidx.browser:browser:1.5.0-alpha01. Phiên bản 1.5.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm CustomTabsIntent.Builder#setInitialActivityHeightPx cho phép nhà phát triển chỉ định chiều cao khởi chạy ban đầu của Tab tuỳ chỉnh và tuỳ chỉnh hành vi đổi kích thước (cố định hoặc có thể thay đổi kích thước). (I48bd3)
  • Thêm CustomTabsIntent.Builder#setToolbarCornerRadiusDp cho phép nhà phát triển chỉ định bán kính góc trên cùng của thanh công cụ. (I48bd3)
  • Thêm CustomTabsIntent.Builder#setCloseButtonPosition cho phép nhà phát triển đặt vị trí của nút đóng trên thanh công cụ. (I48bd3)
  • Thêm phương pháp gọi lại onActivityResized vào giao diện CustomTabsCallback để nhà phát triển biết khi nào Tab tuỳ chỉnh được thay đổi kích thước (mở rộng đến chiều cao đầy đủ hoặc thu nhỏ trở lại chiều cao khởi chạy ban đầu). (Id99ce)
  • Điền sẵn ngôn ngữ của ứng dụng hiện tại thành Accept-Language theo mặc định để phù hợp với trải nghiệm ngôn ngữ trên từng ứng dụng của Android. (I3d1d7)

Thay đổi về API

  • Thêm @RequiresPermission vào các API yêu cầu cấp quyền POST_NOTIFICATIONS trên SDK 33 trở lên. Tính năng này được phát triển trong một nhánh nội bộ. Hãy truy cập vào b/238790278 để tham khảo.

Phiên bản 1.4.0

Phiên bản 1.4.0

Ngày 3 tháng 11 năm 2021

Phát hành androidx.browser:browser:1.4.0. Phiên bản 1.4.0 bao gồm các thay đổi sau.

Các thay đổi quan trọng kể từ phiên bản 1.3.0

  • Đánh dấu PendingIntents là PendingIntent.FLAG_IMMUTABLE nhằm tương thích với Android 12.

Phiên bản 1.4.0-rc01

Ngày 13 tháng 10 năm 2021

androidx.browser:browser:1.4.0-rc01 được phát hành mà không có thay đổi nào kể từ phiên bản 1.4.0-beta01. Phiên bản 1.4.0-rc01 bao gồm các thay đổi sau.

Phiên bản 1.4.0-beta01

Ngày 29 tháng 9 năm 2021

Phát hành androidx.browser:browser:1.4.0-beta01 và không có thay đổi nào kể từ phiên bản 1.4.0-alpha01. Phiên bản 1.4.0-beta01 bao gồm các thay đổi sau.

Phiên bản 1.4.0-alpha01

Ngày 15 tháng 9 năm 2021

Phát hành androidx.browser:browser:1.4.0-alpha01. Phiên bản 1.4.0-alpha01 bao gồm các thay đổi sau.

Sửa lỗi

  • Đánh dấu PendingIntents là PendingIntent.FLAG_IMMUTABLE nhằm tương thích với Android 12.

Phiên bản 1.3.0

Phiên bản 1.3.0

Ngày 2 tháng 12 năm 2020

Phát hành androidx.browser:browser:1.3.0. Phiên bản 1.3.0 bao gồm các thay đổi sau.

Những tính năng chính kể từ phiên bản 1.2.0

  • Bạn có thể truyền lệnh biểu mẫu tuỳ ý từ trình duyệt đến ứng dụng Hoạt động đáng tin cậy trên web bằng cách gọi TrustedWebActivityServiceConnection#sendExtraCommand. Ứng dụng có thể xử lý các lệnh này trong TrustedWebActivityService#onExtraCommand
  • Thêm giao diện TrustedWebActivityCallback mà một ứng dụng Hoạt động đáng tin cậy trên web có thể sử dụng để trả về dữ liệu cho trình duyệt.
  • Thêm CustomTabsIntent#setShareState cho phép các nhà phát triển chỉ định có hiển thị tuỳ chọn chia sẻ hay không (hoặc để trình duyệt tự quyết định).
  • Giờ đây, nhà phát triển có thể thiết lập hướng màn hình mặc định bằng phương thức setScreenOrientation trong TrustedWebActivityIntentBuilder
  • Phương thức setNavigationBarDividerColor được thêm vào CustomTabColorSchemeParams để hỗ trợ thay đổi màu của đường phân chia thanh điều hướng.
  • Thêm CustomTabsIntent.Builder#setDefaultColorSchemeParams để thay thế các phương thức #setNavigationBarColor, #setNavigationBarDividerColor, #setToolbarColor#setSecondaryToolbarColor hiện không dùng nữa
  • Thêm phương thức CustomTabsClient#bindCustomTabsServicePreservePriority cho phép kết nối với một Dịch vụ tab tuỳ chỉnh mà không cần sử dụng cờ Context.BIND_WAIVE_PRIORITY.

Phiên bản 1.3.0-rc01

Ngày 11 tháng 11 năm 2020

Phát hành androidx.browser:browser:1.3.0-rc01 và không có thay đổi nào kể từ 1.3.0-beta01. Phiên bản 1.3.0-rc01 bao gồm các thay đổi sau.

Phiên bản 1.3.0-beta01

Ngày 28 tháng 10 năm 2020

Phát hành androidx.browser:browser:1.3.0-beta01. Phiên bản 1.3.0-beta01 bao gồm các thay đổi sau.

Thay đổi về API

  • Đổi tên bindCustomTabServicePreservePriority thành bindCustomTabsServicePreservePriority (I29ac1)

Sửa lỗi

  • Bật tính năng kiểm tra tìm lỗi mã nguồn API cho MissingGetterMatchingBuilder đối với androidx (I4bbea, b/138602561)

Phiên bản 1.3.0-alpha06

Ngày 1 tháng 10 năm 2020

Phát hành androidx.browser:browser:1.3.0-alpha06. Phiên bản 1.3.0-alpha06 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm CustomTabsIntent#setShareState, cho phép nhà phát triển thiết lập trạng thái chia sẻ ở trạng thái bật, tắt hoặc để trình duyệt tự quyết định. (I153fe)
  • Thêm CustomTabsIntent.Builder#setDefaultColorSchemeParams. Phương thức này nên được dùng thay cho các phương thức #setNavigationBarColor, #setNavigationBarDividerColor, #setToolbarColor, #setSecondaryToolbarColor không dùng nữa. (I09012)

Thay đổi về API

  • Bật chế độ kiểm tra tìm lỗi mã nguồn API cho StaticFinalBuilder đối với androidx (I2b11b, b/138602561)
  • Thêm CustomTabsService#KEY_SUCCESS và TrustedWebActivityService#KEY_SUCCESS mà bạn có thể dùng để chỉ báo extraCommand hoạt động thành công. (I6f7b5)

Phiên bản 1.3.0-alpha05

Ngày 5 tháng 8 năm 2020

Phát hành androidx.browser:browser:1.3.0-alpha05. Phiên bản 1.3.0-alpha05 bao gồm các thay đổi sau.

Tính năng mới

  • Cho phép thiết lập hướng của Hoạt động đáng tin cậy trên web đã khởi chạy.
  • Cho phép thiết lập màu sắc đường phân chia thanh điều hướng của Hoạt động đáng tin cậy trên web và Tab tuỳ chỉnh.

Thay đổi về API

  • Thêm phương thức setScreenOrientation vào TrustedWebActivityIntentBuilder.
  • Thêm @IntDef cho ScreenOrientation.LockType để đại diện cho kiểu khoá (I802d2)
  • Thêm phương thức setNavigationBarDividerColor vào TrustedWebActivityIntentBuilderCustomTabColorSchemeParams. (Ia04dd)
    • Thêm @IntDef vào TrustedWebActivityIntentBuilder phương thức sử dụng bảng phối màu.

Phiên bản 1.3.0-alpha04

Ngày 24 tháng 6 năm 2020

Phát hành androidx.browser:browser:1.3.0-alpha04. Phiên bản 1.3.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm phương thức CustomTabsClient#bindCustomTabServicePreservePriority cho phép kết nối với một Dịch vụ tab tuỳ chỉnh mà không cần sử dụng cờ Context.BIND_WAIVE_PRIORITY.

Phiên bản 1.3.0-alpha03

Ngày 10 tháng 6 năm 2020

Phát hành androidx.browser:browser:1.3.0-alpha03. Phiên bản 1.3.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm giao diện TrustedWebActivityCallback mà một ứng dụng Hoạt động đáng tin cậy trên web có thể sử dụng để trả về dữ liệu cho trình duyệt. (I64dbb)

Thay đổi về API

  • TrustedWebActivityServiceConnection.extraCommand hiện cũng sẽ lấy thông số @Nullable TrustedWebActivityCallback. Tham số gói hiện được đánh dấu @NonNull thay vì @Nullable. (I64dbb)
  • Phương thức TrustedWebActivityServiceConnection.extraCommand đổi tên thành sendExtraCommand (Id29a8)
  • Ngừng sử dụng CustomTabsIntent.Builder#addDefaultShareMenuItem(), thay vào đó là #setDefaultShareMenuItemEnabled(boolean) mới. CustomTabsIntent.Builder#enableUrlBarHiding() cũng ngừng hoạt động, thay vào đó là #setUrlBarHidingEnabled(boolean) mới. (Iad702)

Phiên bản 1.3.0-alpha01

Ngày 8 tháng 1 năm 2020

Phát hành androidx.browser:browser:1.3.0-alpha01. Phiên bản 1.3.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Bạn có thể truyền lệnh biểu mẫu tuỳ ý từ trình duyệt đến ứng dụng Hoạt động đáng tin cậy trên web bằng cách gọi TrustedWebActivityServiceConnection#extraCommand. Ứng dụng có thể xử lý các lệnh này trong TrustedWebActivityService#onExtraCommand

Thay đổi về API

  • URL cung cấp cho CustomTabsSession#mayLauncherUrl, sau đó nhận ở CustomTabsService#mayLaunchUrl hiện chứa giá trị @Nullable.

Phiên bản 1.2.0

Phiên bản 1.2.0

Ngày 18 tháng 12 năm 2019

Phát hành androidx.browser:browser:1.2.0 và không có thay đổi nào kể từ 1.2.0-rc01. Phiên bản 1.2.0 bao gồm các thay đổi sau.

Các thay đổi lớn kể từ phiên bản 1.0.0

  • Hoạt động đáng tin cậy trên web
    • Hỗ trợ cho Hoạt động đáng tin cậy trên web hiện đã ổn định.
    • Bạn có thể dùng TrustedWebActivityIntentBuilder để tuỳ chỉnh và tạo TrustedWebActivityIntent để chạy một Hoạt động đáng tin cậy trên web.
    • TrustedWebActivityService có thể được đưa vào hoặc mở rộng để cho phép ứng dụng hiển thị thông báo đẩy trên web do trình duyệt gửi đến.
    • Trình duyệt có thể sử dụng TrustedWebActivityServiceConnectionPool để kết nối với TrustedWebActivityService trong ứng dụng. TrustedWebActivityServiceConnection đại diện kết nối này.
    • Bạn có thể khởi chạy Hoạt động đáng tin cậy trên web nhằm cung cấp thông tin cho Web Share Target (Mục tiêu chia sẻ web).
  • Giao diện tối
    • Nhà phát triển có thể cung cấp (thông qua CustomTabColorSchemeParams) các màu giao diện đa dạng để sử dụng khi thiết bị đang ở chế độ sáng hoặc tối.
    • Nhà phát triển có thể yêu cầu trình duyệt bật chế độ sáng hoặc tối.
  • Tiếp tục phiên hoạt động
    • Bạn có thể tạo CustomTabsSession bằng mã nhận dạng, cho phép hợp nhất các Tab tuỳ chỉnh kế tiếp chạy trong cùng một ứng dụng và mã nhận dạng.
  • Bạn có thể chỉ định màu thanh điều hướng cho các Tab tuỳ chỉnh.
  • Các lớp có liên quan đến Browser Actions (Hành động trên trình duyệt) được đánh dấu không dùng nữa do mức sử dụng tính năng rất thấp và sẽ bị xoá trong phiên bản thư viện sắp tới.

Phiên bản 1.2.0-rc01

Ngày 4 tháng 12 năm 2019

Phát hành androidx.browser:browser:1.2.0-rc01. Phiên bản 1.2.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa định dạng Javadoc cho mã mẫu.

Phiên bản 1.2.0-beta01

Ngày 20 tháng 11 năm 2019

Phát hành androidx.browser:browser:1.2.0-beta01 và không có thay đổi nào kể từ 1.2.0-alpha09. Phiên bản 1.2.0-beta01 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha09

Ngày 23 tháng 10 năm 2019

Phát hành androidx.browser:browser:1.2.0-alpha09. Phiên bản 1.2.0-alpha09 bao gồm các thay đổi sau.

Tính năng mới

  • Bạn có thể dùng lớp Token để đại diện danh tính của một gói, lớp này chứa cả tên lẫn chữ ký trong chứng chỉ ký của gói.
    • Lớp này được thiết kế chuyển đổi tuần tự thành một byte [] để lưu trữ.
    • TrustedWebActivityService dùng lớp này để xác định trình cung cấp TWA nào được phép kết nối.
    • TrustedWebActivityConnectionPool dùng lớp này, sau đó trình cung cấp TWA sẽ sử dụng nhằm xác định gói nào hợp lệ để kết nối.
  • TrustedWebActivityService hiện đang sử dụng giao diện TokenStore nhằm xác định ứng dụng nào được phép kết nối với lớp này.
    • Ứng dụng được quyền chọn gọi TokenStore#store, TrustedWebActivityService chỉ tải Mã thông báo.
  • TrustedWebActivityServiceConnectionPool (trước đây là TrustedWebActivityServiceConnectionManager) không còn lưu trữ tập hợp các gói đã xác minh:
    • Hiện đã xoá registerClientgetVerifiedPackages.
    • Tập hợp các gói đã xác minh hiện được cung cấp một cách thủ công cho execute (trước đây là connect) và serviceExistsForScope.
  • TrustedWebActivityService uỷ quyền cho lớp ghi đè để lưu trữ trình cung cấp đã xác minh.
    • Xoá setVerifiedProvider.
    • Ứng dụng phải triển khai getTokenStore nhằm trả về TokenStore có thể dùng để lưu trữ và truy xuất Token.

Thay đổi về API

  • Lớp TrustedWebActivityServiceConnectionManager:
    • Hiện gọi là TrustedWebActivityServiceConnectionPool.
    • Hiện đã hoàn chỉnh.
    • Được xây dựng bằng phương thức create tĩnh thay vì hàm khởi tạo công khai.
  • Lớp TrustedWebActivityService:
    • Có chú giải luồng trong các phương thức có thể ghi đè.
  • Lớp TrustedWebActivityServiceWrapper:
    • Hiện gọi là TrustedWebActivityServiceConnection.
    • Hiện đã hoàn chỉnh.
    • Hiện gửi RemoteExceptions theo định dạng thô thay vì gói trong RuntimeExceptions.
  • Lớp ShareTarget#FileFormField hiện đã hoàn chỉnh.
  • Phương thức TrustedWebUtils#splashScreensAreSupported đổi tên thành areSplashScreensSupported.
  • Phương thức TrustedWebActivityIntentBuilder#getUrl đổi tên thành TrustedWebActivityIntentBuilder#getUri.
  • Các trường tĩnh SplashScreenParamKey sẽ có tiền tố KEY_.

Phiên bản 1.2.0-alpha08

Ngày 18 tháng 9 năm 2019

Phát hành androidx.browser:browser:1.2.0-alpha08. Phiên bản 1.2.0-alpha08 bao gồm các thay đổi sau.

Tính năng mới

  • Ra mắt các Share Target API mới dành cho Hoạt động đáng tin cậy trên web. Giờ đây, các ứng dụng sử dụng Hoạt động đáng tin cậy trên web có thể gửi dữ liệu đến Web Share Target. Những ứng dụng này được xác định bằng giao thức https://wicg.github.io/web-share-target/level-2/ (aosp/I47b93, aosp/I0ec3e)

Thay đổi về API

  • Thêm hàm gọi lại (callback) extraCallbackWithResult vào ICustomTabsCallback (aosp/Ic2cc2)
  • Đánh dấu một số tham số phương thức CustomTabsSession là Nullable hoặc NonNull (aosp/Iec460)
  • TrustedWebActivityIntentBuilder hiện xây dựng TrustedWebActivityIntent thay vì ý định theo dạng thô (aosp/I03fb6)

Sửa lỗi

  • CustomTabsClient hiện sử dụng requestPostMessageChannel cũ khi cần (aosp/Ibb324)
  • Sửa CustomTabsSessionToken#equals (aosp/I7f249)
  • CustomTabsClient hiện sử dụng newSession cũ nếu có thể (aosp/Ie27dc)

Đóng góp bên ngoài

  • Bật cho androidx tính năng kiểm tra tìm lỗi mã nguồn API cho MinMaxConstant (aosp/I29b78) (b/138602561)

Phiên bản 1.2.0-alpha07

Ngày 7 tháng 8 năm 2019

Phát hành androidx.browser:browser:1.2.0-alpha07. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Tính năng mới

  • Giao diện tối

    • Nhà phát triển có thể cung cấp màu giao diện để sử dụng khi thiết bị đang ở chế độ tối.
    • Các nhà phát triển cũng có thể ghi đè xem trình duyệt đã khởi chạy nên ở chế độ sáng hoặc tối.
    • Bạn có thể chỉ định màu thanh điều hướng cho các Tab tuỳ chỉnh.
  • Hoạt động đáng tin cậy trên web

    • Bạn có thể sử dụng TrustedWebActivityBuilder để dễ dàng tạo và khởi chạy Hoạt động đáng tin cậy trên web.
    • Bạn có thể sử dụng TrustedWebActivityService và các lớp liên quan để giao tiếp với trình cung cấp – chấp nhận thông báo đẩy của web cho trang web được liên kết và hiện các thông báo này trên ứng dụng khách. Bạn cũng có thể thay đổi phần này của API.
  • Mã nhận dạng phiên Tab tuỳ chỉnh

    • Hiện tại, bạn có thể tạo các phiên Tab tuỳ chỉnh bằng các mã nhận dạng cho phép hợp nhất 2 phiên do cùng một ứng dụng chạy với cùng một mã.

Thay đổi về API

  • Các lớp và phương pháp liên quan đến Browser Actions được đánh dấu không dùng nữa. Thật không may, mặc dù chúng tôi đã rất hy vọng vào tính năng này, nhưng hầu như không có ai sử dụng và chỉ có một trình duyệt hỗ trợ tính năng đó. Chúng tôi sẽ ngừng cung cấp tính năng này để đơn giản hoá mã và API.

Phiên bản 1.0.0

Phiên bản 1.0.0

Ngày 21 tháng 9 năm 2018

Phát hành browser-1.0.0.