Android 13 mang đến cho nhà phát triển các tính năng và API mới tuyệt vời. Các phần dưới đây giúp bạn tìm hiểu các tính năng cho ứng dụng cũng như làm quen với các API liên quan.
Để biết danh sách chi tiết về các API mới, đã được sửa đổi, cũng như đã bị xoá, hãy đọc báo cáo điểm khác biệt về API. Để biết thông tin chi tiết về các API mới, vui lòng truy cập tài liệu tham khảo về API cho Android (các API mới được trình bày nổi bật). Ngoài ra, để tìm hiểu những thay đổi của nền tảng có thể tác động đến ứng dụng của bạn, hãy nhớ tham khảo các thay đổi về hành vi của Android 13 đối với ứng dụng nhắm đến Android 13 và tất cả ứng dụng.
Năng suất và công cụ dành cho nhà phát triển
Biểu tượng ứng dụng theo chủ đề

Kể từ Android 13, bạn có thể chọn sử dụng biểu tượng ứng dụng theo giao diện. Với tính năng này, các biểu tượng ứng dụng trong trình chạy Android được hỗ trợ sẽ được phủ màu để kế thừa màu của hình nền và các giao diện khác mà người dùng đã chọn.
Để hỗ trợ tính năng này, ứng dụng của bạn phải cung cấp cả biểu tượng thích ứng và biểu tượng ứng dụng đơn sắc, đồng thời trỏ đến biểu tượng ứng dụng đơn sắc từ phần tử <adaptive-icon>
trong tệp kê khai. Nếu người dùng đã bật tính năng biểu tượng ứng dụng theo giao diện (tức là bật nút Biểu tượng theo giao diện trong phần cài đặt hệ thống) và trình chạy có hỗ trợ tính năng này, thì hệ thống sẽ sử dụng màu của hình nền và giao diện mà người dùng chọn để xác định sắc thái màu, sau đó áp dụng cho biểu tượng ứng dụng đơn sắc.
Màn hình chính KHÔNG hiển thị biểu tượng ứng dụng theo chủ đề mà thay vào đó hiển thị biểu tượng ứng dụng thích ứng hoặc tiêu chuẩn trong bất kỳ trường hợp nào sau đây:
- Nếu người dùng chưa bật biểu tượng ứng dụng theo giao diện
- Nếu ứng dụng của bạn không cung cấp biểu tượng ứng dụng đơn sắc
- Nếu trình chạy không hỗ trợ biểu tượng ứng dụng theo giao diện
Để biết thêm thông tin và hướng dẫn, hãy xem phần Biểu tượng thích ứng.
Lựa chọn ưu tiên về ngôn ngữ cho mỗi ứng dụng

Trong nhiều trường hợp, người dùng đa ngôn ngữ đặt ngôn ngữ hệ thống của họ thành một ngôn ngữ (chẳng hạn như tiếng Anh). Tuy nhiên, họ muốn chọn các ngôn ngữ khác cho những ứng dụng cụ thể, chẳng hạn như tiếng Hà Lan, tiếng Trung hoặc tiếng Hindi. Nhằm giúp ứng dụng mang lại trải nghiệm tốt hơn cho những người dùng này, Android 13 ra mắt các tính năng sau cho các ứng dụng hỗ trợ nhiều ngôn ngữ:
Cài đặt hệ thống: Một vị trí tập trung mà người dùng có thể chọn một ngôn ngữ ưa thích cho mỗi ứng dụng.
Ứng dụng phải khai báo thuộc tính
android:localeConfig
trong tệp kê khai của ứng dụng để cho hệ thống biết rằng ứng dụng này hỗ trợ nhiều ngôn ngữ. Để tìm hiểu thêm, hãy xem hướng dẫn tạo một tệp tài nguyên và khai báo tệp này trong tệp kê khai của ứng dụng.API bổ sung: Những API công khai này, chẳng hạn như các phương thức
setApplicationLocales()
vàgetApplicationLocales()
trongLocaleManager
, cho phép ứng dụng đặt một ngôn ngữ khác với ngôn ngữ hệ thống vào thời gian chạy.Các API này tự động đồng bộ hoá với chế độ cài đặt hệ thống; do đó, ứng dụng dùng các API này để tạo bộ chọn ngôn ngữ tuỳ chỉnh trong ứng dụng sẽ đảm bảo mang đến trải nghiệm nhất quán cho người dùng, bất kể họ ưu tiên ngôn ngữ nào. API công khai cũng giúp bạn giảm số lượng mã nguyên mẫu, hỗ trợ tệp APK phân tách và hỗ trợ tính năng Tự động sao lưu cho ứng dụng để lưu trữ chế độ cài đặt ngôn ngữ của người dùng ở cấp ứng dụng.
Để tương thích ngược với các phiên bản Android trước, các API tương đương cũng có trong AndroidX. Bạn nên sử dụng các API được thêm vào trong Appcompat 1.6.0-beta01 trở lên.
Những ứng dụng không hỗ trợ nhiều ngôn ngữ sẽ không bị ảnh hưởng bởi những thay đổi này.
Cải thiện khả năng hỗ trợ văn bản và ngôn ngữ
Android 13 có một số tính năng cải tiến về văn bản và ngôn ngữ giúp bạn mang đến trải nghiệm hoàn thiện hơn. Các phần sau đây sẽ mô tả những tính năng này:
Ngắt từ nhanh hơn
Tính năng ngắt từ giúp văn bản được xuống dòng dễ đọc hơn và giúp giao diện người dùng của bạn thích ứng tốt hơn. Kể từ Android 13, hiệu suất ngắt từ đã được tối ưu hoá lên đến 200% để bạn có thể bật tính năng này trong TextView
mà hầu như không ảnh hưởng đến hiệu suất kết xuất. Để bật tính năng ngắt từ nhanh hơn, hãy sử dụng tần số fullFast
hoặc normalFast
trong setHyphenationFrequency()
.
API chuyển đổi văn bản
Những người nói các ngôn ngữ như tiếng Nhật và tiếng Trung sử dụng phương thức nhập bằng chữ cái ngữ âm, điều này thường làm chậm quá trình tìm kiếm và các tính năng như tự động hoàn thành. Trong Android 13, các ứng dụng có thể gọi API chuyển đổi văn bản mới để người dùng có thể tìm thấy nội dung họ đang tìm kiếm một cách nhanh chóng và dễ dàng hơn. Ví dụ: trước đây, để tìm kiếm, người dùng ở Nhật Bản phải thực hiện các bước sau:
- Nhập Hiragana làm cách phát âm theo phiên âm của cụm từ tìm kiếm (chẳng hạn như một địa điểm hoặc tên ứng dụng)
- Dùng bàn phím để chuyển đổi các ký tự Hiragana thành Kanji
- Tìm kiếm lại bằng các ký tự Kanji
- Cuối cùng, họ sẽ nhận được kết quả tìm kiếm
Với API chuyển đổi văn bản mới, người dùng Nhật Bản có thể nhập chữ Hiragana và ngay lập tức thấy kết quả tìm kiếm bằng chữ Kanji mà không cần thực hiện bước 2 và 3.
Cải thiện chiều cao dòng cho các chữ viết không phải Latinh
Android 13 cải thiện khả năng hiển thị các chữ viết không phải chữ Latinh (chẳng hạn như chữ Tamil, Miến Điện, Telugu và Tây Tạng) bằng cách sử dụng chiều cao dòng phù hợp cho từng ngôn ngữ. Chiều cao dòng mới giúp ngăn chặn việc cắt bớt và cải thiện vị trí của các ký tự. Ứng dụng của bạn có thể tận dụng những điểm cải tiến này chỉ bằng cách nhắm đến Android 13. Hãy nhớ kiểm thử ứng dụng khi sử dụng khoảng cách dòng mới vì những thay đổi này có thể ảnh hưởng đến giao diện người dùng của bạn bằng các ngôn ngữ không phải tiếng Latinh.

Cải thiện tính năng xuống dòng tự động cho văn bản tiếng Nhật
Kể từ Android 13, TextView có thể bao bọc văn bản theo Bunsetsu (đơn vị nhỏ nhất của các từ nghe tự nhiên) hoặc cụm từ, thay vì theo ký tự, để các ứng dụng tiếng Nhật trở nên trau chuốt và dễ đọc hơn. Bạn có thể tận dụng tính năng bao bọc này bằng cách sử dụng android:lineBreakWordStyle="phrase"
với TextView.

Cập nhật thư viện Unicode
Android 13 bổ sung những điểm cải tiến, bản sửa lỗi và thay đổi mới nhất có trong Unicode ICU 70, Unicode CLDR 40 và Unicode 14.0.
Sau đây là một số thay đổi đáng chú ý:
- Tiếng Anh (Canada)
en‑CA
và tiếng Anh (Cộng hoà Philippines)en‑PH
đều sử dụng tài nguyên dịch tiếng Anh (Hoa Kỳ)en
khi không có tài nguyên dịch thay vì tiếng Anh (Vương quốc Anh)en‑GB
. - Danh mục số nhiều
many
đã được giới thiệu cho tiếng Tây Ban Nhaes
, tiếng Ýit
, tiếng Bồ Đào Nhapt
và tiếng Bồ Đào Nha (Bồ Đào Nha)pt‑PT
. Tương tự như tiếng Pháp được giới thiệu trong CLDR phiên bản 38, quy tắc này được dùng cho các số lớn.
Phông chữ vectơ có màu

Kể từ Android 13, hệ thống sẽ hỗ trợ hiển thị các phông chữ COLR phiên bản 1 (COLRv1) và cập nhật biểu tượng cảm xúc hệ thống sang định dạng COLRv1. COLRv1 là một định dạng phông chữ có độ nén cao, hiển thị nhanh chóng và rõ ràng ở mọi kích thước.
Đối với hầu hết các ứng dụng, hệ thống sẽ xử lý mọi thứ và COLRv1 sẽ hoạt động bình thường. Tuy nhiên, nếu ứng dụng của bạn triển khai tính năng kết xuất văn bản riêng và sử dụng phông chữ của hệ thống, bạn nên kiểm thử tính năng kết xuất biểu tượng cảm xúc.
Để tìm hiểu thêm về COLRv1, hãy xem các tài nguyên sau:
- Thông báo trên blog của Chrome Developers
- Vận chuyển phông chữ vectơ màu COLRv1 trong Chrome (Video)
- Quy cách bảng COLR
API vị trí Cài đặt nhanh
Chế độ Cài đặt nhanh trong bảng thông báo là một cách thuận tiện để người dùng thay đổi chế độ cài đặt hoặc thực hiện các thao tác nhanh mà không cần rời khỏi ngữ cảnh của một ứng dụng. Đối với những ứng dụng cung cấp thẻ thông tin tuỳ chỉnh, chúng tôi sẽ giúp người dùng dễ dàng khám phá và thêm thẻ thông tin của bạn vào chế độ Cài đặt nhanh. Khi sử dụng API vị trí ô mới, ứng dụng của bạn hiện có thể nhắc người dùng trực tiếp thêm ô tuỳ chỉnh của bạn vào nhóm các ô Cài đặt nhanh đang hoạt động. Một hộp thoại hệ thống mới cho phép người dùng thêm ô chỉ trong một bước mà không cần rời khỏi ứng dụng của bạn, thay vì phải chuyển đến phần Cài đặt nhanh để thêm ô.
Xem trước nội dung trong bảng nhớ tạm
Kể từ Android 13, hệ thống sẽ hiển thị một thông báo xác nhận bằng hình ảnh tiêu chuẩn khi nội dung được thêm vào bảng nhớ tạm. Xác nhận mới thực hiện những việc sau:
- Xác nhận nội dung đã được sao chép thành công.
- Cung cấp bản xem trước nội dung đã sao chép.
Tính năng này chuẩn hoá các thông báo do ứng dụng hiển thị sau khi sao chép, đồng thời cung cấp cho người dùng nhiều quyền kiểm soát hơn đối với bảng nhớ tạm của họ. Để biết thêm thông tin, hãy truy cập vào trang tính năng Sao chép và dán.

Cử chỉ vuốt ngược để dự đoán
Android 13 ra mắt tính năng xem trước thao tác quay lại cho các thiết bị Android, chẳng hạn như điện thoại, thiết bị màn hình lớn và thiết bị có thể gập lại. Để hỗ trợ tính năng này, bạn cần cập nhật ứng dụng.
Để xem tài liệu chi tiết, hãy xem bài viết Cập nhật ứng dụng để hỗ trợ cử chỉ xem trước thao tác quay lại. Bạn cũng có thể dùng thử lớp học lập trình của chúng tôi.
Bluetooth Âm thanh năng lượng thấp
Âm thanh năng lượng thấp (LE) là âm thanh không dây được thiết kế để thay thế Bluetooth truyền thống và hỗ trợ một số trường hợp sử dụng cũng như cấu trúc liên kết kết nối. Tính năng này cho phép người dùng chia sẻ và phát sóng âm thanh cho bạn bè và gia đình, hoặc đăng ký theo dõi các chương trình phát sóng công khai để nắm bắt thông tin, giải trí hoặc hỗ trợ tiếp cận. Công nghệ này được thiết kế để đảm bảo người dùng có thể nhận được âm thanh có độ trung thực cao mà không làm giảm thời lượng pin, đồng thời có thể chuyển đổi liền mạch giữa các trường hợp sử dụng khác nhau mà Bluetooth Classic không thể thực hiện được. Kể từ Android 13, hệ thống có hỗ trợ sẵn cho Âm thanh năng lượng thấp, vì vậy, các nhà phát triển sẽ được cung cấp miễn phí những chức năng này trên các thiết bị tương thích.
MIDI 2.0
Kể từ Android 13, hệ thống sẽ hỗ trợ tiêu chuẩn MIDI 2.0, bao gồm cả khả năng kết nối phần cứng MIDI 2.0 qua USB. Tiêu chuẩn này cung cấp các tính năng như tăng độ phân giải cho bộ điều khiển, hỗ trợ tốt hơn cho âm điệu không phải là âm điệu phương Tây và hiệu suất biểu đạt tốt hơn bằng cách sử dụng bộ điều khiển cho mỗi nốt nhạc.
Cải thiện hiệu quả của màn hình chờ
Android 13 cải thiện hiệu quả của màn hình chờ có ảnh động trong API Màn hình chờ:
Hệ thống suy ra thời lượng của ảnh động trực tiếp từ
AnimatedVectorDrawable
. Trước Android 13, bạn cần phải đặt trực tiếpwindowSplashScreenAnimationDuration
.Sử dụng thuộc tính
windowSplashScreenBehavior
mới để kiểm soát tốt hơn việc ứng dụng của bạn có luôn hiển thị biểu tượng trên màn hình chờ trong Android 13 trở lên hay không.
Để xem tài liệu chi tiết, hãy xem phần Màn hình chờ.
Tối ưu hoá ART
Trong Android 13 (API cấp 33) trở lên, ART giúp việc chuyển đổi sang và từ mã gốc nhanh hơn nhiều, với các lệnh gọi JNI hiện nhanh hơn gấp 2,5 lần. Quy trình xử lý tham chiếu thời gian chạy cũng được làm lại để hầu hết đều không chặn, giúp giảm hiện tượng giật hơn nữa. Ngoài ra, bạn có thể sử dụng API công khai Reference.refersTo()
để thu hồi các đối tượng không thể truy cập sớm hơn và bạn sẽ nhận thấy trình thông dịch hiện nhanh hơn nhờ các hoạt động tra cứu lớp và phương thức được tối ưu hoá. ART cũng thực hiện thêm quy trình xác minh mã byte tại thời điểm cài đặt, tránh được chi phí xác minh tại thời gian chạy và duy trì thời gian khởi động ứng dụng nhanh chóng.
Quyền riêng tư và bảo mật
Tính năng xuất an toàn hơn cho bộ thu đã đăng ký theo bối cảnh
Để giúp các bộ nhận trong thời gian chạy an toàn hơn, Android 13 giới thiệu khả năng cho phép ứng dụng của bạn chỉ định liệu bộ nhận tín hiệu truyền tin đã đăng ký có nên được xuất và hiển thị cho các ứng dụng khác trên thiết bị hay không. Trên các phiên bản Android trước, mọi ứng dụng trên thiết bị đều có thể gửi thông báo truyền tin không được bảo vệ đến một trình thu nhận được đăng ký động, trừ phi trình thu nhận đó được bảo vệ bằng quyền chữ ký.
Cấu hình xuất này có trên những ứng dụng thực hiện ít nhất một trong những thao tác sau:
- Sử dụng lớp
ContextCompat
trong Thư viện AndroidX Core phiên bản 1.9.0 trở lên. - Nhắm đến Android 13 trở lên.
Công cụ chọn ảnh
Android 13 (API cấp 33) trở lên có trải nghiệm công cụ chọn ảnh. Khi ứng dụng của bạn khởi chạy công cụ chọn ảnh, người dùng sẽ chọn những hình ảnh và video cụ thể để chia sẻ với ứng dụng của bạn, chẳng hạn như ảnh hồ sơ, thay vì cấp cho ứng dụng của bạn quyền truy cập để xem toàn bộ thư viện nội dung nghe nhìn. Đây là cách nên dùng để truy cập vào ảnh và video của người dùng.
Công cụ chọn ảnh giúp tăng cường quyền riêng tư cho người dùng vì ứng dụng của bạn không cần khai báo bất kỳ quyền nào khi bắt đầu chạy. Ngoài ra, công cụ chọn ảnh còn cung cấp một giao diện người dùng tiêu chuẩn, được tích hợp sẵn cho các ứng dụng, giúp mang lại trải nghiệm nhất quán hơn cho người dùng.
Quyền khi bắt đầu chạy mới cho các thiết bị Wi-Fi ở gần
Android 13 (API cấp 33) giới thiệu một quyền khi bắt đầu chạy mới trong nhóm quyền NEARBY_DEVICES
cho các ứng dụng quản lý kết nối của thiết bị với các điểm truy cập lân cận qua Wi-Fi. Các ứng dụng này phải khai báo quyền mới NEARBY_WIFI_DEVICES
khi gọi một số API Wi-Fi khác nhau.
Ngoài ra, miễn là các ứng dụng không lấy vị trí thực tế từ API Wi-Fi, thì chúng không cần khai báo quyền ACCESS_FINE_LOCATION
khi nhắm đến Android 13 trở lên.
Tìm hiểu thêm về quyền truy cập vào các thiết bị Wi-Fi ở gần.
Quyền sử dụng chuông báo chính xác (mới)
Nếu ứng dụng của bạn nhắm đến Android 13 trở lên, bạn có thể dùng quyền USE_EXACT_ALARM
. Quyền này sẽ tự động được cấp cho ứng dụng của bạn. Tuy nhiên, để ứng dụng có thể dùng quyền này, ứng dụng phải đáp ứng ít nhất một trong các tiêu chí sau:
- Ứng dụng của bạn là ứng dụng đồng hồ báo thức hoặc ứng dụng hẹn giờ.
- Ứng dụng của bạn là một ứng dụng lịch hiển thị thông báo cho các sự kiện sắp tới.
Nếu ứng dụng của bạn đặt chuông báo chính xác nhưng không đáp ứng một trong hai trường hợp được nêu trong danh sách trước, hãy tiếp tục khai báo quyền SCHEDULE_EXACT_ALARM
thay vào đó và chuẩn bị cho trường hợp người dùng từ chối cấp quyền truy cập cho ứng dụng của bạn.
Quyền có thể hạ cấp của nhà phát triển
Kể từ Android 13, ứng dụng của bạn có thể thu hồi quyền truy cập vào các quyền khi bắt đầu chạy không dùng đến. API này cho phép ứng dụng của bạn thực hiện các tác vụ nâng cao quyền riêng tư, chẳng hạn như:
- Xoá các quyền không dùng đến.
- Tuân thủ các phương pháp hay nhất về quyền để cải thiện niềm tin của người dùng. Bạn nên cân nhắc việc cho người dùng thấy một hộp thoại hiển thị các quyền mà bạn đã chủ động thu hồi.
Lược đồ chữ ký APK phiên bản 3.1
Android 13 bổ sung chế độ hỗ trợ cho Lược đồ chữ ký APK phiên bản 3.1, giúp cải thiện Lược đồ chữ ký APK phiên bản 3 hiện có. Lược đồ này giải quyết một số vấn đề đã biết với Lược đồ chữ ký APK v3 liên quan đến việc xoay vòng. Cụ thể, lược đồ chữ ký v3.1 hỗ trợ việc nhắm đến phiên bản SDK, cho phép xoay vòng để nhắm đến một bản phát hành sau này của nền tảng.
Lược đồ chữ ký v3.1 sử dụng một mã nhận dạng khối không được nhận dạng trên 12L trở xuống. Do đó, nền tảng sẽ áp dụng hành vi của trình ký sau đây:
- Các thiết bị chạy Android 13 trở lên sử dụng trình ký xoay vòng trong khối phiên bản 3.1.
- Các thiết bị chạy phiên bản Android cũ sẽ bỏ qua trình ký xoay vòng và thay vào đó sử dụng trình ký ban đầu trong khối v3.0.
Những ứng dụng chưa xoay vòng khoá ký không cần thực hiện thêm bất kỳ thao tác nào. Bất cứ khi nào các ứng dụng này chọn xoay vòng, hệ thống sẽ áp dụng giao thức chữ ký phiên bản 3.1 theo mặc định.
Những ứng dụng đã xoay vòng và muốn tiếp tục sử dụng khoá ký đã xoay vòng trong khối ký v3.0 cần cập nhật lệnh gọi apksigner
:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
...trong đó API_LEVEL
từ 32 trở xuống.
Cải thiện tính năng báo cáo lỗi trong Keystore và KeyMint
Đối với những ứng dụng tạo khoá, Keystore và KeyMint hiện cung cấp các chỉ báo lỗi chi tiết và chính xác hơn. Chúng tôi đã thêm một hệ thống phân cấp lớp ngoại lệ trong java.security.ProviderException
, với các ngoại lệ dành riêng cho Android, bao gồm mã lỗi Keystore/KeyMint và liệu có thể thử lại lỗi hay không. Bạn cũng có thể sửa đổi các phương thức tạo và sử dụng khoá (ký, mã hoá) để đưa ra các ngoại lệ mới. Báo cáo lỗi được cải thiện không chỉ giới hạn ở việc tạo khoá và giờ đây, báo cáo này sẽ cung cấp cho bạn những thông tin cần thiết để thử lại việc tạo khoá.
Hỗ trợ máy tính bảng và màn hình lớn
Android 13 được xây dựng dựa trên các điểm tối ưu hoá cho máy tính bảng được giới thiệu trong Android 12 và bản cập nhật tính năng 12L, bao gồm cả các điểm tối ưu hoá cho giao diện người dùng hệ thống, khả năng đa nhiệm tốt hơn và các chế độ tương thích được cải thiện. Trong quá trình kiểm thử, hãy đảm bảo ứng dụng của bạn hiển thị đẹp nhất trên máy tính bảng và các thiết bị màn hình lớn khác.
Để biết thêm thông tin về những điểm mới và nội dung cần kiểm thử, hãy xem trang Hỗ trợ máy tính bảng và màn hình lớn.
Đồ hoạ
Chương trình đổ bóng có thể lập trình

Kể từ Android 13, hệ thống sẽ hỗ trợ các đối tượng RuntimeShader
có thể lập trình, với hành vi được xác định bằng Ngôn ngữ tạo bóng đồ hoạ Android (AGSL). AGSL sử dụng chung nhiều cú pháp với GLSL, nhưng hoạt động trong công cụ kết xuất Android để tuỳ chỉnh tính năng vẽ trong canvas của Android cũng như lọc nội dung của Thành phần hiển thị.
Android sử dụng nội bộ các chương trình đổ bóng này để triển khai hiệu ứng gợn sóng, làm mờ và kéo giãn khi cuộn quá mức.
Android 13 trở lên cho phép bạn tạo các hiệu ứng nâng cao tương tự cho ứng dụng của mình.
Cải tiến về Choreographer
Android 13 giới thiệu các phương thức API công khai cho Choreographer
và ASurfaceControl
. Các phương thức này cung cấp cho ứng dụng nhiều thông tin hơn về các dòng thời gian có thể có của khung hình và thêm nhiều ngữ cảnh hơn vào SurfaceFlinger
về vòng đời của khung hình. Tương tự như trước đây, các ứng dụng có thể đăng một lệnh gọi lại đến Choreographer
và nhận thông tin về dòng thời gian của khung hình. Trong Android 13 (API cấp 33), Choreographer
trả về nhiều thời gian trình bày có thể có và thời hạn tương ứng của khung hình. Các ứng dụng có thể chọn thời gian trình bày và sau đó thông báo cho SurfaceFlinger
về lựa chọn này. Sau đó, SurfaceFlinger
sẽ không cố gắng áp dụng các giao dịch hoặc bộ đệm chốt trước thời gian trình chiếu mong muốn.

Camera
Quay video HDR
Kể từ Android 13, API Camera2 hỗ trợ tính năng quay video có Dải động cao (HDR), cho phép bạn xem trước và quay nội dung video HDR bằng camera. So với Dải màu động tiêu chuẩn (SDR), HDR cung cấp dải màu rộng hơn và tăng dải màu động của thành phần độ chói (từ 100 cd/m2 hiện tại lên đến hàng nghìn cd/m2). Điều này giúp video có chất lượng gần với thực tế hơn, với màu sắc phong phú hơn, vùng sáng sáng hơn và vùng tối tối hơn.
Để tìm hiểu thêm về tính năng quay video HDR, hãy xem tài liệu Quay video HDR.
Nội dung nghe nhìn
Âm thanh không gian
Âm thanh không gian là một trải nghiệm âm thanh sống động, giúp nội dung nghe nhìn trở nên chân thực hơn đối với người dùng. Hãy xem tài liệu về Âm thanh không gian để biết thông tin chi tiết về cách tích hợp với tính năng này.
Định tuyến âm thanh dự đoán
Để giúp các ứng dụng đa phương tiện xác định cách truyền âm thanh, Android 13 giới thiệu các API tuyến âm thanh trong lớp AudioManager
. API getAudioDevicesForAttributes()
cho phép bạn truy xuất danh sách các thiết bị có thể dùng để phát âm thanh đã chỉ định, còn API getDirectProfilesForAttributes()
giúp bạn biết liệu luồng âm thanh có thể phát trực tiếp hay không. Sử dụng các API này để xác định AudioFormat
phù hợp nhất để sử dụng cho bản âm thanh của bạn.
Hỗ trợ tiếp cận
Nút mô tả bằng âm thanh
Android 13 (API cấp 33) giới thiệu một lựa chọn ưu tiên mới về khả năng hỗ trợ tiếp cận trên toàn hệ thống, cho phép người dùng bật nội dung mô tả bằng âm thanh trên tất cả các ứng dụng. Nội dung mô tả bằng âm thanh là một bản tường thuật bổ sung, trong đó người tường thuật sẽ nói trong suốt bài thuyết trình, mô tả những gì đang diễn ra trên màn hình trong các khoảng dừng tự nhiên của âm thanh.
Các ứng dụng có thể tuân theo lựa chọn ưu tiên của người dùng đối với các bản mô tả bằng lời nói bằng cách truy vấn lựa chọn ưu tiên đó bằng isAudioDescriptionRequested()
, như minh hoạ trong đoạn mã sau:
Kotlin
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
Java
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
Các ứng dụng có thể theo dõi thay đổi về lựa chọn ưu tiên của người dùng bằng cách thêm một trình nghe vào AccessbilityManager
:
Kotlin
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
Java
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
Chức năng cốt lõi
Nội dung cập nhật OpenJDK 11
Android 13 bắt đầu công cuộc làm mới các thư viện cốt lõi của Android để phù hợp với bản phát hành LTS OpenJDK 11, bao gồm cả bản cập nhật thư viện và tính năng hỗ trợ ngôn ngữ Java 11 cho các nhà phát triển ứng dụng và nền tảng. Các thay đổi về thư viện cốt lõi được giới thiệu trong Android 13 cũng sẽ có trên các thiết bị Android 12 thông qua bản cập nhật hệ thống Google Play cho Mô-đun Mainline ART.
Android 13 có những thay đổi sau đây đối với các thư viện cốt lõi:
- Hỗ trợ từ khoá
var
cho các biến cục bộ và dưới dạng các lambda tham số. Các phương thức mới trong lớp String:
isBlank()
lines()
repeat()
strip()
stripLeading()
stripTrailing()
Hỗ trợ
Collection.toArray(IntFunction)
để giúp bạn dễ dàng điều chỉnh một tập hợp thành một mảng.Hỗ trợ
ifPresentOrElse()
,isEmpty()
,orElseThrow()
vàstream()
trong các lớpjava.util
Optional
,OptionalDouble
,OptionalInt
vàOptionalLong
.Hỗ trợ mở rộng cho
SocketOptions
, bao gồm cả việc sử dụng lại các ổ cắm.Chức năng
NullReader
,NullWriter
,InputStream
,OutputStream
vàtransferTo()
Reader
chuyển các ký tự đã đọc sangWriter
.Thêm chức năng mã hoá và giải mã URL bằng
Charsets
.Chức năng
Charset
choFileReader
,FileWriter
,PrintStream
vàPrintWriter
.Các hàm
transferTo()
,readNBytes()
,readAllBytes()
vàwriteBytes()
mới choByteArrayInput
hoặcOutputStream
vàInput
hoặcOutputStream
.Hỗ trợ thời gian chạy và trình biên dịch cho
java.lang.invoke.VarHandle
.Cập nhật
java.util.concurrent
lên OpenJDK 11 API bằng cách sử dụngVarHandle
nội bộ.
Java và OpenJDK là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.