Tổng quan về các tính năng và API

Android 14 mang đến cho nhà phát triển các tính năng và API tuyệt vời. Các phần sau đâ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 đã thêm, sửa đổi và 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 đã thêm, hãy truy cập vào tài liệu tham khảo về API Android. Đối với Android 14, hãy tìm các API đã thêm trong API cấp 34. Để 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 14 đối với ứng dụng nhắm đến Android 14tất cả ứng dụng.

Quốc tế hoá

Lựa chọn ưu tiên về ngôn ngữ cho mỗi ứng dụng

Android 14 mở rộng các tính năng về ngôn ngữ cho mỗi ứng dụng từng ra mắt trong Android 13 (API cấp 33), cũng như bổ sung thêm những tính năng sau:

  • Tự động tạo localeConfig của ứng dụng: Bắt đầu từ Android Studio Giraffe Canary 7 và AGP 8.1.0-alpha07, bạn có thể định cấu hình ứng dụng của mình để tự động hỗ trợ lựa chọn ưu tiên về ngôn ngữ cho mỗi ứng dụng. Dựa trên các tài nguyên của dự án, trình bổ trợ Android cho Gradle sẽ tạo tệp LocaleConfig và thêm mục tham chiếu đến tệp đó trong tệp kê khai cuối cùng, do đó, bạn không còn phải tạo hoặc cập nhật tệp theo cách thủ công nữa. AGP sẽ sử dụng các tài nguyên trong thư mục res của mô-đun ứng dụng và mọi phần phụ thuộc của mô-đun thư viện để xác định ngôn ngữ cần đưa vào tệp LocaleConfig.

  • Bản cập nhật động cho localeConfig của ứng dụng: Sử dụng các phương thức setOverrideLocaleConfig()getOverrideLocaleConfig() trong LocaleManager để tự động cập nhật danh sách ngôn ngữ được hỗ trợ của ứng dụng trong phần cài đặt hệ thống của thiết bị. Hãy sử dụng khả năng hoạt này để tuỳ chỉnh danh sách ngôn ngữ được hỗ trợ cho mỗi khu vực, chạy kiểm thử A/B hoặc cung cấp danh sách ngôn ngữ được cập nhật nếu ứng dụng sử dụng tính năng thông báo đẩy phía máy chủ để bản địa hoá.

  • Chế độ hiển thị ngôn ngữ ứng dụng cho trình chỉnh sửa phương thức nhập (IME): IME có thể sử dụng phương thức getApplicationLocales() để kiểm tra ngôn ngữ của ứng dụng và so khớp ngôn ngữ IME với ngôn ngữ đó.

API Biến tố ngữ pháp

Có đến 3 tỷ người sử dụng ngôn ngữ có phân biệt giống ngữ pháp: ngôn ngữ mà các danh mục ngữ pháp (chẳng hạn như danh từ, động từ, tính từ và giới từ) sẽ phản ánh theo giống của người và đối tượng mà bạn nói đến hoặc nói về. Theo truyền thống, nhiều ngôn ngữ có phân biệt giống ngữ pháp sử dụng giống đực làm giống mặc định hoặc chung.

Việc xưng hô sai ngữ pháp với người dùng, chẳng hạn như xưng hô với phụ nữ theo ngữ pháp giống đực, có thể ảnh hưởng tiêu cực đến hiệu suất và thái độ của họ. Ngược lại, giao diện người dùng có ngôn ngữ phản ánh chính xác giống ngữ pháp của người dùng có thể cải thiện mức độ tương tác, cũng như mang lại trải nghiệm tự nhiên và phù hợp hơn cho người dùng.

Để xây dựng giao diện người dùng cho các ngôn ngữ có giống ngữ pháp, Android 14 ra mắt API Biến tố ngữ pháp, cho phép bạn hỗ trợ giống ngữ pháp mà không cần tái cấu trúc ứng dụng.

Lựa chọn ưu tiên theo khu vực

Các lựa chọn ưu tiên theo khu vực cho phép người dùng cá nhân hoá đơn vị nhiệt độ, ngày đầu tiên trong tuần và hệ thống đánh số. Có thể người Châu Âu sinh sống ở Hoa Kỳ sẽ thích dùng đơn vị nhiệt độ bằng độ C thay vì độ F và muốn ứng dụng coi thứ Hai là đầu tuần thay vì mặc định ở Hoa Kỳ là Chủ nhật.

Các trình đơn Cài đặt Android mới cho những lựa chọn ưu tiên này là một nơi tập trung và dễ thấy để người dùng thay đổi các lựa chọn ưu tiên cho ứng dụng. Các lựa chọn ưu tiên này cũng được duy trì thông qua tính năng sao lưu và khôi phục. Một số API và ý định (ví dụ: getTemperatureUnitgetFirstDayOfWeek) cấp cho ứng dụng quyền đọc các lựa chọn ưu tiên của người dùng, nhờ đó, ứng dụng của bạn có thể điều chỉnh cách trình bày thông tin. Bạn cũng có thể đăng ký BroadcastReceiver trên ACTION_LOCALE_CHANGED để xử lý các thay đổi về cấu hình ngôn ngữ khi các lựa chọn ưu tiên theo khu vực được thay đổi.

Để tìm các chế độ cài đặt này, hãy mở ứng dụng Cài đặt rồi chuyển đến Hệ thống > Ngôn ngữ và phương thức nhập > Lựa chọn ưu tiên theo khu vực.

Màn hình lựa chọn ưu tiên theo khu vực trong phần cài đặt hệ thống Android.
Lựa chọn ưu tiên về nhiệt độ theo khu vực trong phần cài đặt hệ thống Android.

Hỗ trợ tiếp cận

Điều chỉnh tỷ lệ phông chữ phi tuyến tính lên đến 200%

Kể từ Android 14, hệ thống sẽ hỗ trợ việc chuyển tỷ lệ phông chữ lên đến 200%, cung cấp người dùng có thị lực kém có thêm các lựa chọn hỗ trợ tiếp cận phù hợp với ngôn ngữ Web Nguyên tắc về khả năng tiếp cận nội dung (WCAG).

Để ngăn các thành phần văn bản cỡ lớn trên màn hình bị chuyển tỷ lệ quá lớn, hệ thống áp dụng đường cong tỷ lệ phi tuyến tính. Chiến lược điều chỉnh tỷ lệ này có nghĩa là văn bản lớn không chuyển tỷ lệ theo cùng mức độ với văn bản nhỏ hơn. Việc chuyển tỷ lệ phông chữ phi tuyến tính giúp bảo toàn thứ bậc tỷ lệ giữa các phần tử có kích thước khác nhau, trong khi giảm thiểu vấn đề với việc chuyển tỷ lệ văn bản tuyến tính ở mức cao (chẳng hạn như văn bản bị cắt hoặc văn bản trở nên khó đọc hơn do kích thước trên màn hình cực kỳ lớn).

Kiểm thử ứng dụng bằng tỷ lệ phông chữ phi tuyến tính

Bật kích thước phông chữ tối đa trong phần cài đặt hỗ trợ tiếp cận của thiết bị để kiểm thử ứng dụng của bạn.

Nếu bạn đã sử dụng đơn vị pixel được điều chỉnh theo tỷ lệ (sp) để xác định kích thước văn bản, thì các tuỳ chọn bổ sung và cải tiến về tỷ lệ này sẽ tự động áp dụng cho văn bản trong ứng dụng. Tuy nhiên, bạn vẫn nên kiểm thử giao diện người dùng với kích thước phông chữ tối đa được bật (200%) để đảm bảo ứng dụng áp dụng kích thước phông chữ chính xác và có thể sử dụng kích thước phông chữ lớn hơn mà không ảnh hưởng đến khả năng hữu dụng.

Để bật kích thước phông chữ 200%, hãy làm theo các bước sau:

  1. Mở ứng dụng Cài đặt rồi chuyển đến phần Hỗ trợ tiếp cận > Văn bản và kích thước hiển thị.
  2. Đối với tuỳ chọn Kích thước phông chữ, hãy nhấn vào biểu tượng dấu cộng (+) cho đến khi bật chế độ cài đặt kích thước phông chữ tối đa, như trong hình ảnh kèm theo phần này.

Sử dụng đơn vị pixel được điều chỉnh theo tỷ lệ (sp) đối với kích thước văn bản

Hãy nhớ luôn chỉ định kích thước văn bản theo đơn vị sp. Khi ứng dụng của bạn sử dụng đơn vị sp, Android có thể áp dụng kích thước văn bản mà người dùng ưu tiên và chuyển tỷ lệ văn bản một cách thích hợp.

Đừng sử dụng đơn vị sp cho khoảng đệm hoặc xác định chiều cao của thành phần hiển thị giả định khoảng đệm ngầm ẩn: kích thước sp tỷ lệ phông chữ phi tuyến tính có thể không tỷ lệ, vì vậy 4sp + 20 sp có thể không bằng 24 sp.

Chuyển đổi đơn vị pixel được điều chỉnh theo tỷ lệ (sp)

Sử dụng TypedValue.applyDimension() để chuyển đổi từ đơn vị sp sang pixel và sử dụng TypedValue.deriveDimension() để chuyển đổi pixel thành sp. Các phương thức này tự động áp dụng đường cong tỷ lệ phi tuyến tính thích hợp.

Tránh mã hoá cứng phương trình bằng Configuration.fontScale hoặc DisplayMetrics.scaledDensity. Vì việc chuyển tỷ lệ phông chữ phi tuyến tính, trường scaledDensity không còn chính xác nữa. fontScale trường này chỉ nên được sử dụng cho mục đích thông tin vì phông chữ không còn được sử dụng nữa được điều chỉnh theo tỷ lệ với một giá trị vô hướng duy nhất.

Sử dụng đơn vị sp cho lineHeight

Luôn xác định android:lineHeight bằng cách sử dụng đơn vị sp thay vì dp, vì vậy, chiều cao dòng sẽ điều chỉnh theo văn bản của bạn. Nếu không, nếu văn bản của bạn là sp nhưng lineHeight ở dạng dp hoặc px, thì văn bản sẽ không theo tỷ lệ và trông chật chội. TextView sẽ tự động sửa lineHeight để giữ nguyên tỷ lệ bạn dự định, nhưng chỉ khi cả textSizelineHeight được xác định theo đơn vị sp.

Máy ảnh và nội dung nghe nhìn

Ultra HDR cho hình ảnh

Hình minh hoạ chất lượng hình ảnh Dải động tiêu chuẩn (SDR) so với Dải động cao (HDR).

Android 14 hỗ trợ thêm hình ảnh Dải động cao (HDR) giúp giữ lại nhiều thông tin hơn từ cảm biến khi chụp ảnh, nhờ đó mang lại màu sắc sống động và độ tương phản cao hơn. Android sử dụng định dạng Ultra HDR, tương thích hoàn toàn ngược với hình ảnh JPEG, cho phép các ứng dụng tương tác liền mạch với hình ảnh HDR, hiển thị hình ảnh đó ở Dải động tiêu chuẩn (SDR) nếu cần.

Khung sẽ tự động kết xuất các hình ảnh này trong giao diện người dùng ở chế độ HDR khi ứng dụng của bạn chọn sử dụng giao diện người dùng HDR cho Cửa sổ hoạt động, thông qua một mục nhập tệp kê khai hoặc trong thời gian chạy bằng cách gọi Window.setColorMode(). Bạn cũng có thể chụp hình ảnh tĩnh HDR siêu độ nét được nén trên các thiết bị được hỗ trợ. Khi cảm biến khôi phục được nhiều màu hơn, bạn có thể chỉnh sửa linh hoạt hơn sau khi chụp. Bạn có thể sử dụng Gainmap liên kết với hình ảnh Ultra HDR để kết xuất hình ảnh bằng OpenGL hoặc Vulkan.

Thu phóng, Lấy nét, Xem sau và nhiều tính năng khác trong tiện ích máy ảnh

Android 14 升级并改进了相机扩展程序,让应用能够处理更长的处理时间,从而支持在受支持的设备上使用计算密集型算法(例如弱光摄影)来改善图片。这些功能可让用户在使用相机扩展功能时获得更出色的体验。这些改进的示例包括:

Thu phóng trong cảm biến

CameraCharacteristics 中的 REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE 包含 SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW 时,您的应用可以使用高级传感器功能,将剪裁后的 RAW 数据流的像素与全视野范围相同,方法是将 CaptureRequest 与将数据流用例设置为 CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW 的 RAW 目标搭配使用。通过实现请求替换控件,更新后的相机可让用户在其他相机控件准备就绪之前使用缩放控件。

Âm thanh USB không bị mất dữ liệu

Android 14 hỗ trợ các định dạng âm thanh không suy hao để mang lại trải nghiệm âm thanh chất lượng cao qua tai nghe có dây USB. Bạn có thể truy vấn một thiết bị USB để biết các thuộc tính bộ trộn ưu tiên, đăng ký trình nghe cho các thay đổi trong các thuộc tính bộ trộn ưu tiên và định cấu hình các thuộc tính bộ trộn bằng cách sử dụng lớp AudioMixerAttributes. Lớp này đại diện cho định dạng, chẳng hạn như mặt nạ kênh, tốc độ lấy mẫu và hành vi của bộ trộn âm thanh. Lớp này cho phép gửi trực tiếp âm thanh mà không cần trộn, điều chỉnh âm lượng hoặc xử lý hiệu ứng.

Công cụ và năng suất của nhà phát triển

Trình quản lý thông tin xác thực

Android 14 将 Credential Manager 添加为平台 API,并通过使用 Google Play 服务的 Jetpack 库,向后额外支持 Android 4.4(API 级别 19)设备。Credential Manager 旨在通过 API 使用用户配置的凭据提供程序检索和存储凭据,让用户更轻松地登录。Credential Manager 在单个 API 中支持多种登录方法,包括用户名和密码、通行密钥和联合登录解决方案(如“使用 Google 账号登录”)。

通行密钥具有许多优势。例如,通行密钥是基于业界标准构建的,可在各种不同的操作系统和浏览器生态系统中使用,并且可用于网站和应用。

如需了解详情,请参阅 Credential Manager 和通行密钥文档以及介绍 Credential Manager 和通行密钥的博文

Health Connect

Health Connect là một kho lưu trữ trên thiết bị dành cho dữ liệu sức khoẻ và thể chất của người dùng. Tính năng này cho phép người dùng chia sẻ dữ liệu giữa các ứng dụng mà họ yêu thích, với một nơi duy nhất để kiểm soát dữ liệu họ muốn chia sẻ với các ứng dụng này.

Trên các thiết bị chạy phiên bản Android trước Android 14, bạn có thể tải Health Connect xuống dưới dạng ứng dụng trên Cửa hàng Google Play. Kể từ Android 14, Health Connect là một phần của nền tảng và nhận được bản cập nhật thông qua bản cập nhật hệ thống của Google Play mà không cần tải xuống riêng. Nhờ đó, Health Connect có thể được cập nhật thường xuyên và các ứng dụng của bạn có thể dựa vào Health Connect có sẵn trên các thiết bị chạy Android 14 trở lên. Người dùng có thể truy cập vào Health Connect từ phần Cài đặt trong thiết bị của họ, với các chế độ kiểm soát quyền riêng tư được tích hợp vào phần cài đặt hệ thống.

Người dùng có thể bắt đầu sử dụng Health Connect mà không cần tải ứng dụng riêng xuống trên các thiết bị chạy Android 14 trở lên.
Người dùng có thể kiểm soát những ứng dụng có quyền truy cập vào dữ liệu sức khoẻ và thể chất của họ thông qua phần cài đặt hệ thống.

Health Connect có một số tính năng mới trong Android 14, chẳng hạn như tuyến đường tập thể dục, cho phép người dùng chia sẻ tuyến đường tập thể dục của họ và có thể được trực quan hoá trên bản đồ. Tuyến đường được xác định là danh sách các vị trí được lưu trong một khoảng thời gian và ứng dụng của bạn có thể chèn các tuyến đường vào các phiên tập thể dục, liên kết các tuyến đường đó với nhau. Để đảm bảo người dùng có toàn quyền kiểm soát dữ liệu nhạy cảm này, người dùng phải cho phép chia sẻ từng tuyến đường với các ứng dụng khác.

Để biết thêm thông tin, hãy xem tài liệu về Health Connect và bài đăng trên blog về Tính năng mới trong Android Health.

Nội dung cập nhật OpenJDK 17

Android 14 tiếp tục 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 các tính năng trong bản phát hành OpenJDK LTS mới nhất, bao gồm cả bản cập nhật thư viện và tính năng hỗ trợ ngôn ngữ Java 17 cho các nhà phát triển ứng dụng và nền tảng.

Bao gồm các tính năng và điểm cải tiến sau đây:

  • Cập nhật tính năng hỗ trợ Java 17 cho khoảng 300 lớp java.base.
  • Khối văn bản (Text Blocks) ra mắt các giá trị cố định dạng chuỗi nhiều dòng bằng ngôn ngữ lập trình Java.
  • So khớp mẫu cho instanceof, cho phép một đối tượng được xem là có một kiểu cụ thể trong instanceof mà không cần thêm bất cứ biến nào.
  • Lớp kín (sealed classes) cho phép bạn hạn chế các lớp và giao diện có thể mở rộng hoặc triển khai các lớp đó.

Nhờ các bản cập nhật hệ thống Google Play (Project Mainline), hơn 600 triệu thiết bị được phép nhận các bản cập nhật Android Runtime (ART) mới nhất có các thay đổi này. Đây là một phần trong cam kết của chúng tôi nhằm cung cấp cho các ứng dụng một môi trường nhất quán, bảo mật hơn trên các thiết bị, đồng thời cung cấp các tính năng và chức năng mới cho người dùng độc lập với các bản phát hành nền tảng.

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.

Những điểm cải tiến cho cửa hàng ứng dụng

Android 14 引入了多个 PackageInstaller API,可帮助应用商店改善其用户体验。

下载之前请求批准安装

安装或更新应用可能需要用户批准。例如,当使用 REQUEST_INSTALL_PACKAGES 权限的安装程序尝试安装新应用时。在之前的 Android 版本中,只有在将 APK 写入安装会话并且提交会话后,应用商店才能请求用户批准。

从 Android 14 开始,requestUserPreapproval() 方法可让安装程序在提交安装会话之前请求用户批准。此项改进可让应用商店将任何 APK 的下载操作推迟到用户批准安装之后。此外,用户批准安装后,应用商店可以在后台下载并安装应用,而不会干扰用户。

承担未来更新的责任

借助 setRequestUpdateOwnership() 方法,安装程序可以向系统表明它打算负责将被安装的应用未来的更新。此 capability 可实现更新所有权强制执行,即仅允许更新所有者为应用安装自动更新。更新所有权强制执行有助于确保用户仅收到来自预期应用商店的更新。

任何其他安装程序(包括使用 INSTALL_PACKAGES 权限的安装程序)都必须获得用户的明确批准,才能安装更新。如果用户决定继续从其他来源安装更新,则会失去更新所有权。

在干扰较少的时段更新应用

应用商店通常希望避免更新正在使用的应用,因为这会导致应用正在运行的进程被终止,而这可能会中断用户正在执行的操作。

从 Android 14 开始,InstallConstraints API 让安装程序可以确保其应用更新在适当的时机进行。例如,应用商店可以调用 commitSessionAfterInstallConstraintsAreMet() 方法来确保仅在用户不再与相应应用互动时才进行更新。

无缝安装可选拆分

借助拆分 APK,应用的功能可以通过单独的 APK 文件提供,而不是以单体式 APK 的形式提供。借助拆分 APK,应用商店可以优化不同应用组件的提供。例如,应用商店可能会根据目标设备的属性进行优化。自在 API 级别 22 中引入以来,PackageInstaller API 一直支持拆分。

在 Android 14 中,setDontKillApp() 方法可让安装程序指明在安装新的拆分项时应用的运行进程不应终止。应用商店可以使用此功能,在用户使用应用时无缝安装应用的新功能。

Gói siêu dữ liệu ứng dụng

Kể từ Android 14, trình cài đặt gói Android cho phép bạn chỉ định siêu dữ liệu ứng dụng (ví dụ: các biện pháp đảm bảo an toàn dữ liệu) để đưa vào các trang trên cửa hàng ứng dụng như Google Play.

Phát hiện thời điểm người dùng chụp ảnh màn hình thiết bị

为了打造更加标准化的屏幕截图检测体验,Android 14 引入了可保护隐私的屏幕截图检测 API。借助此 API,应用可以按 activity 注册回调。如果用户在该 activity 可见时截取屏幕截图,系统会调用这些回调并通知用户。

Trải nghiệm người dùng

Các thao tác tuỳ chỉnh trên Trang chia sẻ nội dung và cách cải thiện thứ hạng

Android 14 更新了系统 Sharesheet,以便为用户提供自定义应用操作和信息更丰富的预览结果。

添加自定义操作

对于 Android 14,您的应用可以向其调用的系统 Sharesheet 添加自定义操作

分享表格中自定义操作的屏幕截图。

提高直接共享目标的排名

Android 14 根据来自应用的更多信号来确定直接共享目标的排名,以便为用户提供更实用的结果。为了提供最实用的排名信号,请遵循提高直接共享目标排名的准则。通讯应用还可以报告出站和入站消息的快捷方式使用情况

共享表单中的“直接分享”行,如 1
所示

Hỗ trợ ảnh động tích hợp sẵn và ảnh động tuỳ chỉnh cho tính năng Xem trước thao tác quay lại

Video: Ảnh động xem trước thao tác quay lại

Android 13 đã giới thiệu ảnh động xem trước thao tác quay lại màn hình chính dưới hình thức tuỳ chọn dành cho nhà phát triển. Khi vuốt ngược lại, trong một ứng dụng được hỗ trợ và tuỳ chọn dành cho nhà phát triển được bật, sẽ xuất hiện ảnh động chỉ ra rằng cử chỉ vuốt ngược là để thoát khỏi ứng dụng và quay lại màn hình chính.

Android 14 có nhiều điểm cải tiến và hướng dẫn mới về tính năng Xem trước thao tác quay lại:

Đối với bản thử nghiệm Android 14 này, tất cả tính năng Xem trước thao tác quay lại vẫn là tuỳ chọn dành cho nhà phát triển. Xem hướng dẫn dành cho nhà phát triển để di chuyển ứng dụng sang tính năng Xem trước thao tác quay lại, cũng như hướng dẫn dành cho nhà phát triển để tạo các hiệu ứng chuyển đổi tuỳ chỉnh trong ứng dụng.

Chế độ ghi đè cho mỗi ứng dụng của nhà sản xuất thiết bị có màn hình lớn

Chế độ ghi đè cho mỗi ứng dụng cho phép nhà sản xuất thiết bị thay đổi hành vi của các ứng dụng trên thiết bị có màn hình lớn. Ví dụ: chế độ ghi đè FORCE_RESIZE_APP sẽ hướng dẫn hệ thống đổi kích thước ứng dụng cho vừa với kích thước màn hình (tránh chế độ tương thích với kích thước) ngay cả khi resizeableActivity="false" được thiết lập trong tệp kê khai ứng dụng.

Tính năng ghi đè nhằm cải thiện trải nghiệm người dùng trên màn hình lớn.

Các thuộc tính tệp kê khai mới cho phép bạn tắt một số chế độ ghi đè của nhà sản xuất thiết bị cho ứng dụng của mình.

Ghi đè cho mỗi ứng dụng dành cho người dùng màn hình lớn

Tính năng ghi đè cho mỗi ứng dụng thay đổi hành vi của ứng dụng trên thiết bị có màn hình lớn. Ví dụ: chế độ ghi đè của nhà sản xuất thiết bị OVERRIDE_MIN_ASPECT_RATIO_LARGE đặt tỷ lệ khung hình của ứng dụng thành 16:9 bất kể cấu hình của ứng dụng.

Android 14 QPR1 cho phép người dùng áp dụng chế độ ghi đè cho mỗi ứng dụng thông qua trình đơn cài đặt mới trên các thiết bị có màn hình lớn.

Chia sẻ màn hình ứng dụng

Tính năng chia sẻ màn hình ứng dụng cho phép người dùng chia sẻ một cửa sổ ứng dụng thay vì toàn bộ màn hình thiết bị trong khi ghi nội dung trên màn hình.

Khi chia sẻ màn hình ứng dụng, thanh trạng thái, thanh điều hướng, thông báo và các thành phần khác trên giao diện người dùng của hệ thống sẽ bị loại trừ khỏi màn hình được chia sẻ. Chỉ nội dung của ứng dụng đã chọn mới được chia sẻ.

Tính năng chia sẻ màn hình ứng dụng giúp cải thiện năng suất và quyền riêng tư bằng cách cho phép người dùng chạy nhiều ứng dụng nhưng chỉ giới hạn việc chia sẻ nội dung ở một ứng dụng.

Tính năng Trả lời thông minh dựa trên LLM trong Gboard trên Pixel 8 Pro

Trên các thiết bị Pixel 8 Pro có Bản phát hành tính năng tháng 12, nhà phát triển có thể dùng thử tính năng trả lời thông minh chất lượng cao hơn trong Gboard nhờ các Mô hình ngôn ngữ lớn (LLM) trên thiết bị chạy trên Google Tensor.

Tính năng này được cung cấp dưới dạng bản dùng thử có giới hạn cho tiếng Anh (Hoa Kỳ) trong WhatsApp, Line và KakaoTalk. Bạn cần sử dụng thiết bị Pixel 8 Pro có Gboard làm bàn phím.

Để dùng thử, trước tiên, hãy bật tính năng này trong phần Settings > Developer Options > AiCore Settings > Enable Aicore Persistent (Cài đặt > Tuỳ chọn cho nhà phát triển > Cài đặt AICore > Bật Aicore Persistent).

Tiếp theo, hãy mở một cuộc trò chuyện trong một ứng dụng được hỗ trợ để xem tính năng Trả lời thông minh dựa trên LLM trong dải đề xuất của Gboard để phản hồi tin nhắn đến.

Gboard sử dụng LLM trên thiết bị để cung cấp tính năng phản hồi thông minh chất lượng cao hơn.

Đồ hoạ

Đường dẫn có thể truy vấn và nội suy

API Path của Android là một cơ chế mạnh mẽ và linh hoạt để tạo và kết xuất đồ hoạ vectơ, với khả năng vẽ hoặc tô màu đường dẫn, tạo đường dẫn từ các đoạn thẳng hoặc đường cong bậc hai hoặc lập phương, thực hiện các thao tác boolean để có được hình dạng phức tạp hơn nữa hoặc đồng thời tất cả những hình dạng này. Một hạn chế là khả năng tìm hiểu nội dung thực sự trong đối tượng Đường dẫn; nội dung bên trong của đối tượng này được che đi trước các phương thức gọi sau khi tạo.

Để tạo Path, hãy gọi các phương thức như moveTo(), lineTo()cubicTo() để thêm các phân đoạn đường dẫn. Nhưng không có cách nào để truy vấn đường dẫn về các phân đoạn, vì vậy bạn phải giữ lại thông tin đó tại thời điểm tạo.

Kể từ Android 14, bạn có thể truy vấn các đường dẫn để tìm hiểu nội dung bên trong đó. Trước tiên, bạn cần sử dụng Path.getPathIterator API để lấy đối tượng PathIterator:

Kotlin

val path = Path().apply {
    moveTo(1.0f, 1.0f)
    lineTo(2.0f, 2.0f)
    close()
}
val pathIterator = path.pathIterator

Java

Path path = new Path();
path.moveTo(1.0F, 1.0F);
path.lineTo(2.0F, 2.0F);
path.close();
PathIterator pathIterator = path.getPathIterator();

Tiếp theo, bạn có thể gọi PathIterator để lặp lại từng phân đoạn, truy xuất tất cả dữ liệu cần thiết cho từng phân đoạn. Ví dụ này sử dụng các đối tượng PathIterator.Segment để đóng gói dữ liệu cho bạn:

Kotlin

for (segment in pathIterator) {
    println("segment: ${segment.verb}, ${segment.points}")
}

Java

while (pathIterator.hasNext()) {
    PathIterator.Segment segment = pathIterator.next();
    Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints());
}

PathIterator cũng có phiên bản next() không phân bổ, trong đó bạn có thể truyền một bộ đệm để lưu giữ dữ liệu điểm.

Một trong những trường hợp sử dụng quan trọng của việc truy vấn dữ liệu Path là nội suy. Ví dụ: bạn có thể tạo hiệu ứng động (animate) hoặc biến đổi (morph) giữa hai đường dẫn riêng biệt. Để đơn giản hoá trường hợp sử dụng đó hơn nữa, Android 14 cũng bao gồm phương thức interpolate() trên Path. Giả sử hai đường dẫn này có cùng cấu trúc nội bộ, thì phương thức interpolate() sẽ tạo một Path mới với kết quả nội suy đó. Ví dụ này trả về một đường dẫn có hình dạng bằng một nửa (nội suy tuyến tính .5) giữa pathotherPath:

Kotlin

val interpolatedResult = Path()
if (path.isInterpolatable(otherPath)) {
    path.interpolate(otherPath, .5f, interpolatedResult)
}

Java

Path interpolatedResult = new Path();
if (path.isInterpolatable(otherPath)) {
    path.interpolate(otherPath, 0.5F, interpolatedResult);
}

Thư viện Jetpack graphics-path cũng kích hoạt các API tương tự cho các phiên bản Android trước đó.

Lưới tuỳ chỉnh với chương trình đổ bóng đỉnh và mảnh

Android từ lâu đã hỗ trợ vẽ lưới tam giác bằng tính năng tô bóng tuỳ chỉnh, nhưng định dạng lưới đầu vào bị giới hạn ở một số tổ hợp thuộc tính được xác định trước. Android 14 hỗ trợ thêm lưới tuỳ chỉnh. Lưới này có thể được xác định là tam giác hoặc dải tam giác và có thể được lập chỉ mục (không bắt buộc). Các lưới này được chỉ định bằng các thuộc tính tuỳ chỉnh, bước đỉnh, thay đổi, chương trình đổ bóng đỉnh và mảnh được viết bằng AGSL.

Chương trình đổ bóng đỉnh xác định các biến thể, chẳng hạn như vị trí và màu sắc, trong khi chương trình đổ bóng mảnh có thể tuỳ ý xác định màu cho pixel, thường là bằng cách sử dụng các biến thể do chương trình đổ bóng đỉnh tạo ra. Nếu màu được cung cấp bởi chương trình đổ bóng mảnh, thì màu đó sẽ được kết hợp với màu Paint hiện tại bằng cách sử dụng chế độ kết hợp được chọn khi vẽ lưới. Bạn có thể truyền Bộ đồng nhất vào chương trình đổ bóng mảnh và đỉnh để tăng tính linh hoạt.

Trình kết xuất vùng đệm phần cứng cho Canvas

Để hỗ trợ việc sử dụng API Canvas của Android nhằm vẽ bằng tính năng tăng tốc phần cứng vào HardwareBuffer, Android 14 sẽ ra mắt HardwareBufferRenderer. API này là đặc biệt hữu ích khi trường hợp sử dụng của bạn liên quan đến hoạt động giao tiếp với hệ thống trình tổng hợp thông qua SurfaceControl để có độ trễ thấp bản vẽ.