Android 14 mang đến cho nhà phát triển các tính năng và API mới hữu ích. Nội dung 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 đã được 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 được thêm, hãy truy cập vào tài liệu tham khảo API cho Android. Đối với Android 14, hãy tìm các API được thêm vào cấp độ API 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 14 và tấ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
localeConfigcủ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ệpLocaleConfigvà 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ụcrescủ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ệpLocaleConfig.Bản cập nhật động cho
localeConfigcủa ứng dụng: Sử dụng các phương thứcsetOverrideLocaleConfig()vàgetOverrideLocaleConfig()trongLocaleManagerđể 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
用户可通过地区偏好设置对温度单位、一周的第一天和编号系统进行个性化设置。居住在美国的欧洲用户可能更希望使用摄氏度,而不是华氏度,并且希望应用将星期一视为一周的开始,而不是像美国那样默认从星期日开始。
新 Android 设置菜单包含这些偏好设置,使用户能够在一个位置集中发现这些应用更改偏好设置。这些偏好设置在备份和恢复设备后也会保持不变。多个 API 和 intent(例如 getTemperatureUnit 和 getFirstDayOfWeek)会为您的应用授予读取权限来访问用户偏好设置,因此您的应用可以调整其显示信息的方式。您还可以在 ACTION_LOCALE_CHANGED 上注册 BroadcastReceiver,以便在地区偏好设置发生更改时处理语言区域配置更改。
如需找到这些设置,请打开“设置”应用,然后依次前往系统 > 语言和输入法 > 地区偏好设置。
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%, mang đến cho người dùng thêm một số chế độ hỗ trợ tiếp cận.
Để 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 sẽ áp dụng một đườ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
Nếu đã sử dụng đơn vị pixel có thể mở rộng (sp) để xác định kích thước văn bản, thì các lựa chọn bổ sung và điểm cải tiến về tỷ lệ này sẽ tự động được áp dụng cho văn bản trong ứng dụng của bạn. Tuy nhiên, bạn vẫn nên tiến hành kiểm thử giao diện người dùng khi bật kích thước phông chữ tối đa (200%) để đảm bảo rằng ứng dụng của bạn áp dụng kích thước phông chữ một cách chính xác và có thể sử dụng phông chữ có kích thước 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:
- 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ị.
- Đố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 khung hiển thị giả định khoảng đệm ngầm ẩn: với việc chuyển tỷ lệ phông chữ phi tuyến tính theo đơn vị sp thì kích thước có thể sẽ không tỷ lệ thuận, vì vậy, 4sp + 20sp có thể không bằng 24sp.
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 phương trình mã hoá cứng bằng Configuration.fontScale hoặc DisplayMetrics.scaledDensity. Vì việc chuyển tỷ lệ phông chữ là phi tuyến tính, nên trường scaledDensity không còn chính xác nữa. Bạn chỉ nên sử dụng trường fontScale cho mục đích cung cấp thông tin vì phông chữ không còn được điều chỉnh tỷ lệ bằng một giá trị vô hướng duy nhất nữa.
Sử dụng đơn vị sp cho lineHeight
Luôn xác định android:lineHeight bằng đơn vị sp thay vì dp, để chiều cao dòng có thể đ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 ở dp hoặc px, thì văn bản đó sẽ không được điều chỉnh tỷ lệ và trông có vẻ chật hẹp.
TextView tự động điều chỉnh lineHeight để giữ nguyên tỷ lệ mà bạn muốn, nhưng chỉ khi cả textSize và lineHeight đều được xác định bằng đơn vị sp.
Camera và nội dung nghe nhìn
Ultra HDR cho hình ảnh
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 khi chụp và nhiều tính năng khác trong tiện ích máy ảnh
Android 14 升级并改进了相机扩展程序,让应用能够处理更长的处理时间,从而支持在受支持的设备上使用计算密集型算法(例如弱光摄影)来改善图片。这些功能可让用户在使用相机扩展功能时获得更出色的体验。这些改进的示例包括:
- 动态静态拍摄处理延迟时间估算功能可根据当前场景和环境条件提供更准确的静态拍摄延迟时间估算值。调用
CameraExtensionSession.getRealtimeStillCaptureLatency()可获取具有两种延迟时间估算方法的StillCaptureLatency对象。getCaptureLatency()方法会返回onCaptureStarted和onCaptureProcessStarted()之间的估算延迟时间,而getProcessingLatency()方法会返回onCaptureProcessStarted()和可用的最终处理帧之间的估算延迟时间。 - 支持拍摄进度回调,以便应用可以显示长时间运行的静态拍摄处理操作的当前进度。您可以检查
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable是否支持此功能,如果支持,则实现onCaptureProcessProgressed()回调,并将进度(从 0 到 100)作为参数传入。 扩展程序专用元数据,例如用于调节扩展程序效果(例如背景虚化程度)的
CaptureRequest.EXTENSION_STRENGTH和EXTENSION_BOKEH。相机扩展程序中的静态图片拍摄预览功能,该功能比最终图片更快地提供经过较少处理的图片。如果扩展程序的处理延迟时间增加,可以提供 postview 图片作为占位符以提升用户体验,并在稍后改用最终图片。您可以使用
CameraExtensionCharacteristics.isPostviewAvailable检查此功能是否可用。然后,您可以将OutputConfiguration传递给ExtensionSessionConfiguration.setPostviewOutputConfiguration。支持
SurfaceView,可实现更优化且能效更高的预览渲染路径。支持在使用扩展程序时点按对焦和缩放。
Thu phóng trong cảm biến
Khi REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE trong CameraCharacteristics chứa SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW, ứng dụng của bạn có thể sử dụng các tính năng cảm biến nâng cao để cung cấp luồng RAW đã cắt có cùng số pixel với trường nhìn đầy đủ bằng cách sử dụng CaptureRequest với mục tiêu RAW có trường hợp sử dụng luồng được đặt thành CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW.
Bằng cách triển khai các chế độ điều khiển ghi đè yêu cầu, máy ảnh đã cập nhật sẽ cho phép người dùng điều khiển tính năng thu phóng ngay cả trước khi các chế độ điều khiển khác của máy ảnh sẵn sàng.
Âm thanh không tổn hao qua cổng USB
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 bổ sung Trình quản lý thông tin xác thực làm API nền tảng, đồng thời hỗ trợ thêm cho các thiết bị Android 4.4 (cấp độ API 19) thông qua Thư viện Jetpack bằng Dịch vụ Google Play. Credential Manager (Trình quản lý thông tin xác thực) hướng đến việc giúp người dùng đăng nhập dễ dàng hơn bằng các API truy xuất và lưu trữ thông tin xác thực bằng trình cung cấp thông tin xác thực do người dùng định cấu hình. Trình quản lý thông tin xác thực hỗ trợ đăng nhập nhiều tài khoản, bao gồm cả tên người dùng và mật khẩu, khoá truy cập và các giải pháp đăng nhập liên kết (chẳng hạn như Đăng nhập bằng Google) trong một API duy nhất.
Khoá truy cập mang lại nhiều lợi ích. Ví dụ: khoá truy cập được tạo dựa trên tiêu chuẩn ngành, có thể hoạt động trên nhiều hệ điều hành và hệ sinh thái trình duyệt, cũng như có thể dùng trên cả trang web và ứng dụng.
Để biết thêm thông tin, hãy xem tài liệu về Trình quản lý thông tin xác thực và khoá truy cập cũng như bài đăng trên blog về Trình quản lý thông tin xác thực và khoá truy cập.
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.
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 continues the work of refreshing Android's core libraries to align with the features in the latest OpenJDK LTS releases, including both library updates and Java 17 language support for app and platform developers.
The following features and improvements are included:
- Updated approximately 300
java.baseclasses to Java 17 support. - Text Blocks, which introduce multi-line string literals to the Java programming language.
- Pattern Matching for instanceof, which allows an object to
be treated as having a specific type in an
instanceofwithout any additional variables. - Sealed classes, which allow you restrict which classes and interfaces can extend or implement them.
Thanks to Google Play system updates (Project Mainline), over 600 million devices are enabled to receive the latest Android Runtime (ART) updates that include these changes. This is part of our commitment to give apps a more consistent, secure environment across devices, and to deliver new features and capabilities to users independent of platform releases.
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Những điểm cải tiến cho các cửa hàng ứng dụng
Android 14 giới thiệu một số API PackageInstaller cho phép cửa hàng ứng dụng cải thiện trải nghiệm người dùng.
Yêu cầu phê duyệt lượt cài đặt trước khi tải xuống
Có thể bạn phải yêu cầu người dùng phê duyệt việc cài đặt hoặc cập nhật ứng dụng.
Ví dụ: khi trình cài đặt sử dụng quyền REQUEST_INSTALL_PACKAGES cố gắng cài đặt một ứng dụng mới. Trong các phiên bản Android trước, cửa hàng ứng dụng chỉ có thể yêu cầu người dùng phê duyệt sau khi các tệp APK được ghi vào phiên cài đặt còn phiên hoạt động thì được cam kết.
Kể từ Android 14, phương thức requestUserPreapproval() sẽ cho phép trình cài đặt yêu cầu người dùng phê duyệt trước khi xác nhận phiên cài đặt. Điểm cải tiến này cho phép cửa hàng ứng dụng trì hoãn việc tải mọi tệp APK xuống cho đến khi người dùng phê duyệt quá trình cài đặt. Hơn nữa, sau khi người dùng phê duyệt việc cài đặt, cửa hàng ứng dụng có thể tải và cài đặt ứng dụng ở chế độ nền mà không làm gián đoạn người dùng.
Tuyên bố trách nhiệm đối với các bản cập nhật trong tương lai
Phương thức setRequestUpdateOwnership() cho phép trình cài đặt cho hệ thống biết rằng sau này trình cài đặt dự định sẽ chịu trách nhiệm về các bản cập nhật của ứng dụng đang cài đặt. Tính năng này cho phép thực thi theo quyền sở hữu bản cập nhật, nghĩa là chỉ chủ sở hữu bản cập nhật mới được phép tự động cài đặt bản cập nhật cho ứng dụng. Việc thực thi theo quyền sở hữu bản cập nhật giúp đảm bảo rằng người dùng chỉ nhận được bản cập nhật từ cửa hàng ứng dụng theo đúng mong đợi.
Mọi trình cài đặt khác (bao gồm cả những trình cài đặt sử dụng quyền INSTALL_PACKAGES) phải nhận được sự chấp thuận rõ ràng của người dùng để có thể cài đặt bản cập nhật. Nếu người dùng quyết định tiếp tục cập nhật từ một nguồn khác, thì quyền sở hữu bản cập nhật sẽ bị mất.
Cập nhật ứng dụng vào những thời điểm ít gây gián đoạn hơn
Các cửa hàng ứng dụng thường muốn tránh cập nhật một ứng dụng đang được sử dụng, vì việc này dẫn đến việc các quy trình đang chạy của ứng dụng bị dừng, có khả năng làm gián đoạn công việc mà người dùng đang thực hiện.
Kể từ Android 14, InstallConstraints API sẽ giúp trình cài đặt có thể đảm bảo quá trình cập nhật ứng dụng diễn ra đúng lúc. Ví dụ: một cửa hàng ứng dụng có thể gọi phương thức commitSessionAfterInstallConstraintsAreMet() để đảm bảo rằng bản cập nhật chỉ được cam kết khi người dùng không còn tương tác với ứng dụng có liên quan.
Cài đặt các phần phân tách không bắt buộc sao cho liền mạch
Nhờ tệp APK phân tách, nhiều tính năng của một ứng dụng có thể được phân phối trong các tệp APK riêng biệt, thay vì dưới dạng tệp APK nguyên khối. Tệp APK phân tách cho phép cửa hàng ứng dụng tối ưu hoá việc phân phối nhiều thành phần của ứng dụng. Ví dụ: có thể các cửa hàng ứng dụng sẽ tối ưu hoá dựa trên thuộc tính của thiết bị mục tiêu. PackageInstaller API đã hỗ trợ các phần phân tách kể từ khi ra mắt trong API cấp 22.
Trong Android 14, phương thức setDontKillApp() sẽ cho phép trình cài đặt cho biết rằng các quy trình đang chạy của ứng dụng sẽ không bị tắt khi các phần phân tách mới được cài đặt. Các cửa hàng ứng dụng có thể sử dụng tính năng này để cài đặt liền mạch những tính năng mới của một ứng dụng trong khi người dùng đang sử dụng ứng dụng đó.
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ị
Để tạo ra trải nghiệm chuẩn hơn đối với việc phát hiện ảnh chụp màn hình, Android 14 ra mắt API phát hiện ảnh chụp màn hình nhằm bảo vệ quyền riêng tư. API này cho phép ứng dụng đăng ký lệnh gọi lại dựa trên từng hoạt động. Khi người dùng chụp ảnh màn hình trong khi hoạt động đó đang hiển thị, những lệnh gọi lại này sẽ được gọi và người dùng sẽ nhận được thông báo.
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 cập nhật trang chia sẻ nội dung của hệ thống để hỗ trợ các thao tác tuỳ chỉnh trong ứng dụng và các kết quả xem trước giàu thông tin hơn cho người dùng.
Thêm thao tác tuỳ chỉnh
Với Android 14, ứng dụng của bạn có thể thêm thao tác tuỳ chỉnh vào trang chia sẻ nội dung hệ thống mà ứng dụng đó gọi.
Cải thiện thứ hạng của mục tiêu Chia sẻ trực tiếp
Android 14 sử dụng thêm nhiều tín hiệu từ các ứng dụng để xác định thứ hạng của mục tiêu chia sẻ trực tiếp nhằm đưa ra kết quả hữu ích hơn cho người dùng. Để cung cấp tín hiệu hữu ích nhất cho việc xếp hạng, hãy làm theo hướng dẫn để cải thiện thứ hạng của mục tiêu Chia sẻ trực tiếp. Ứng dụng liên lạc cũng có thể báo cáo mức sử dụng phím tắt cho tin nhắn đến và đi.
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
Android 13 在开发者选项背后引入了预测性“返回主屏幕”动画。在已启用开发者选项的受支持应用中使用时,滑回手势会显示动画,表明返回手势会使应用退回到主屏幕。
Android 14 包含针对“预测性返回”的多项改进和新指南:
- 您可设置
android:enableOnBackInvokedCallback=true,以便为每个 activity 选择启用预测性返回系统动画,而不是为整个应用选择启用。 - 我们添加了新的系统动画,以配合 Android 13 中的“返回主屏幕”动画。新的系统动画是跨 activity 和跨任务的,您可在迁移到预测性返回后自动获得该动画。
- 我们为底部动作条、侧边动作条和搜索添加了新的 Material 组件动画。
- 我们制作了有关如何创建自定义应用内动画和转换的设计指南。
- 我们添加了许多新 API 来支持自定义的应用内转换动画:
在此 Android 14 预览版中,所有预测性返回功能都是位于开发者选项背后。请参阅与将您的应用迁移到预测性返回有关的开发者指南,以及与创建自定义应用内转换有关的开发者指南。
Chế độ ghi đè cho mỗi ứng dụng của nhà sản xuất thiết bị 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 của 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 mô hình ngôn ngữ lớn (LLM) trong Gboard trên Pixel 8 Pro
在搭载 12 月功能分块的 Pixel 8 Pro 设备上,开发者可以在 Gboard 中试用质量更高的智能回复,这些回复由在 Google Tensor 上运行的设备端大语言模型 (LLM) 提供支持。
此功能目前仅在 WhatsApp、Line 和 KakaoTalk 中以美式英语的形式提供给用户进行小范围测试。此功能需要使用 Pixel 8 Pro 设备,并将 Gboard 用作键盘。
如需试用此功能,请先依次前往设置 > 开发者选项 > AiCore 设置 > 启用 Aicore 持久性,启用该功能。
接下来,在受支持的应用中打开对话,即可在 Gboard 的建议栏中看到依托 LLM 的智能回复,以便回复收到的消息。
Đồ hoạ
Các đường dẫn nay truy vấn được và nội suy được
Android 的 Path API 是一种强大且灵活的机制,可用于创建和渲染矢量图形,能够描边或填充路径、根据线段或二次曲线或立方曲线构建路径、执行布尔运算以获取更复杂的形状,或同时执行所有这些操作。但有一个限制是,您无法了解 Path 对象中实际包含的内容;该对象的内部信息在创建后对调用方是不透明的。
如需创建 Path,您可以调用 moveTo()、lineTo() 和 cubicTo() 等方法来添加路径段。但是,无法询问该路径有哪些片段,因此您必须在创建时保留该信息。
从 Android 14 开始,您可以查询路径以了解其内部内容。首先,您需要使用 Path.getPathIterator API 获取 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();
接下来,您可以调用 PathIterator 逐个遍历片段,并检索每个片段的所有必要数据。以下示例使用了 PathIterator.Segment 对象,它会为您打包数据:
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 还有一个非分配版 next(),您可以在其中传入缓冲区来保存点数据。
查询 Path 数据的一个重要用例是插值。例如,您可能想在两个不同的路径之间添加动画(或变形)。为了进一步简化该用例,Android 14 针对 Path 还包含 interpolate() 方法。假设两个路径具有相同的内部结构,interpolate() 方法会使用该插值结果创建一个新的 Path。以下示例返回了一个形状介于 path 和 otherPath 之间的一半(线性插值为 0.5)的路径:
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); }
Jetpack graphics-path 库也为早期版本的 Android 启用了类似的 API。
Lưới tuỳ chỉnh có 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ẽ.