Android 10 dành cho nhà phát triển

Android 10 được xây dựng dựa trên ba chủ đề quan trọng. Trước tiên, Android 10 đang định hình công nghệ tiên tiến trong lĩnh vực đổi mới di động bằng công nghệ học máy nâng cao và hỗ trợ các thiết bị mới nổi như thiết bị có thể gập lại và điện thoại hỗ trợ 5G. Tiếp theo, Android 10 tập trung vào quyền riêng tư và bảo mật, với gần 50 tính năng giúp người dùng được bảo vệ, minh bạch và kiểm soát tốt hơn. Cuối cùng, Android 10 mở rộng các chế độ kiểm soát sức khoẻ số của người dùng để cá nhân và gia đình có thể tìm được sự cân bằng tốt hơn với công nghệ.

Dưới đây là thông tin về những tính năng dành cho nhà phát triển trong Android 10 và cách bạn có thể sử dụng các tính năng đó ngay hôm nay.

Sự đổi mới và trải nghiệm mới

Với Android 10, bạn có thể tận dụng các cải tiến mới nhất về phần cứng và phần mềm để tạo ra trải nghiệm ứng dụng tuyệt vời cho người dùng.

Với Android 10, bạn có thể tối ưu hoá ứng dụng cho thiết bị có thể gập lại và các thiết bị màn hình lớn khác.

Thiết bị có thể gập lại

Dựa trên khả năng hỗ trợ nhiều cửa sổ mạnh mẽ, Android 10 mở rộng tính năng đa nhiệm trên các cửa sổ ứng dụng và cung cấp tính năng liên tục trên màn hình để duy trì trạng thái ứng dụng khi thiết bị gập hoặc mở ra. Android 10 bổ sung một số điểm cải tiến trong onResumeonPause để hỗ trợ tính năng tiếp tục nhiều lần và thông báo cho ứng dụng của bạn khi ứng dụng đó có tiêu điểm. Điều này cũng thay đổi cách hoạt động của thuộc tính tệp kê khai resizeableActivity để giúp bạn quản lý cách ứng dụng hiển thị trên màn hình gập và màn hình lớn. Để tạo ứng dụng cho thiết bị có thể gập lại, bạn có thể định cấu hình trình mô phỏng thiết bị có thể gập lại dưới dạng thiết bị ảo (AVD) trong Android Studio. Để biết thông tin chi tiết về cách tối ưu hoá ứng dụng cho thiết bị gập, hãy xem hướng dẫn dành cho nhà phát triển.

Mạng 5G

5G hứa hẹn mang lại tốc độ nhanh và độ trễ thấp hơn một cách nhất quán. Android 10 bổ sung tính năng hỗ trợ nền tảng cho 5G và mở rộng các API hiện có để giúp bạn tận dụng các tính năng nâng cao này. Bạn có thể sử dụng API kết nối để phát hiện xem thiết bị có kết nối băng thông cao hay không và kiểm tra xem kết nối có được đo lượng dữ liệu hay không. Nhờ đó, ứng dụng và trò chơi của bạn có thể điều chỉnh trải nghiệm phong phú, sống động cho người dùng qua mạng 5G.

Tính năng Trả lời thông minh trong thông báo

Android 10 sử dụng công nghệ học máy trên thiết bị để đề xuất các hành động theo ngữ cảnh trong thông báo, chẳng hạn như trả lời thông minh cho tin nhắn hoặc mở bản đồ cho địa chỉ trong thông báo. Ứng dụng của bạn có thể tận dụng tính năng này ngay lập tức mà bạn không cần làm gì cả. Theo mặc định, các câu trả lời thông minh và hành động do hệ thống cung cấp sẽ được chèn trực tiếp vào thông báo. Bạn vẫn có thể cung cấp các câu trả lời và hành động của riêng mình nếu muốn. Bạn chỉ cần chọn không sử dụng tính năng Phản hồi thông minh trên cơ sở từng thông báo bằng cách sử dụng setAllowGeneratedReplies()setAllowSystemGeneratedContextualActions().

Tính năng Trả lời thông minh có thể đề xuất các hành động dựa trên nội dung thông báo.

Giao diện tối

Android 10 thêm một giao diện tối trên toàn hệ thống, phù hợp với điều kiện ánh sáng yếu và giúp tiết kiệm pin. Người dùng có thể kích hoạt giao diện tối mới trên toàn hệ thống bằng cách chuyển đến phần Cài đặt hoặc bật Trình tiết kiệm pin. Thao tác này sẽ thay đổi giao diện người dùng của hệ thống thành giao diện tối và bật giao diện tối của các ứng dụng hỗ trợ giao diện này. Bạn có thể tạo giao diện tối tuỳ chỉnh cho ứng dụng hoặc chọn sử dụng tính năng Buộc chế độ tối mới để hệ thống tạo phiên bản tối từ giao diện hiện có của bạn một cách linh động. Bạn cũng có thể tận dụng tính năng DayNight của AppCompat để cung cấp giao diện tối cho người dùng trên các phiên bản Android cũ. Hãy xem hướng dẫn dành cho nhà phát triển để biết thêm thông tin.

Android 10 có thể tạo giao diện tối cho ứng dụng của bạn một cách linh động bằng tính năng Buộc chế độ tối.

Di chuyển bằng cử chỉ

Chế độ điều hướng bằng cử chỉ cung cấp cho ứng dụng toàn bộ màn hình để hiển thị nội dung.

Android 10 giới thiệu chế độ điều hướng bằng cử chỉ hoàn toàn, loại bỏ khu vực thanh điều hướng và cho phép ứng dụng sử dụng toàn màn hình để mang lại trải nghiệm phong phú hơn, sống động hơn. Giao diện này giữ lại các thao tác quen thuộc như Quay lại, Trang chủ và Gần đây thông qua thao tác vuốt cạnh thay vì các nút hiển thị. Để kết hợp liền mạch với thao tác điều hướng bằng cử chỉ, bạn nên sử dụng chế độ tràn viền, vẽ phía sau thanh điều hướng để tạo trải nghiệm sống động. Để triển khai tính năng này, ứng dụng nên sử dụng API setSystemUiVisibility() để bố trí toàn màn hình, sau đó xử lý WindowInsets sao cho phù hợp để đảm bảo các phần quan trọng của giao diện người dùng không bị che khuất. Hãy bắt đầu tối ưu hoá ứng dụng ngay hôm nay và xem loạt bài đăng trên blog của chúng tôi để biết thêm thông tin.

Bảng cài đặt

Giờ đây, bạn có thể hiển thị các chế độ cài đặt hệ thống chính ngay trong ngữ cảnh của ứng dụng thông qua một API Bảng điều khiển cài đặt mới. Bảng điều khiển là một giao diện người dùng nổi mà bạn gọi để hiển thị các chế độ cài đặt mà người dùng có thể cần, chẳng hạn như kết nối Internet, NFC và âm lượng. Ví dụ: trình duyệt có thể hiển thị một bảng điều khiển có các chế độ cài đặt kết nối như Chế độ trên máy bay, Wi-Fi (bao gồm cả mạng lân cận) và Dữ liệu di động. Để hiển thị bảng cài đặt, bạn chỉ cần kích hoạt một ý định bằng một trong các thao tác mới của Settings.Panel.

Lối tắt để chia sẻ

Lối tắt chia sẻ giúp việc chia sẻ nhanh chóng và dễ dàng hơn, cho phép người dùng chuyển thẳng đến một ứng dụng khác để chia sẻ nội dung. Nhà phát triển có thể phát hành các mục tiêu chia sẻ để khởi chạy một hoạt động cụ thể trong ứng dụng của họ kèm theo nội dung. Các mục tiêu này sẽ hiển thị cho người dùng trong giao diện người dùng chia sẻ. Vì được xuất bản trước, giao diện người dùng chia sẻ sẽ tải ngay lập tức khi khởi chạy. Lối tắt để chia sẻ tương tự như Lối tắt ứng dụng và sử dụng cùng một API ShortcutInfo. API này cũng được hỗ trợ trong thư viện AndroidX ShareTarget. Hãy xem ứng dụng mẫu để biết thông tin chi tiết.

Lối tắt chia sẻ cho phép người dùng chuyển thẳng đến một hoạt động cụ thể trong ứng dụng của bạn có nội dung đính kèm.

Quyền riêng tư của người dùng

Quyền riêng tư là trọng tâm của Android 10, từ các biện pháp bảo vệ mạnh mẽ hơn trong nền tảng đến các tính năng mới được thiết kế với tiêu chí bảo vệ quyền riêng tư. Dựa trên các bản phát hành trước, Android 10 có nhiều thay đổi để bảo vệ quyền riêng tư và giúp người dùng có nhiều quyền kiểm soát hơn, với giao diện người dùng hệ thống được cải thiện, các quyền nghiêm ngặt hơn và các hạn chế về dữ liệu mà ứng dụng có thể sử dụng. Hãy xem các thay đổi về quyền riêng tư để biết thông tin chi tiết về cách hỗ trợ các thay đổi này trong ứng dụng của bạn.

Giờ đây, người dùng có thể chọn cấp quyền truy cập vào thông tin vị trí khi ứng dụng đang chạy ở chế độ nền trước.

Cung cấp cho người dùng nhiều quyền kiểm soát hơn đối với dữ liệu vị trí – Người dùng có nhiều quyền kiểm soát hơn đối với dữ liệu vị trí của họ thông qua một lựa chọn cấp quyền mới – giờ đây, họ có thể chỉ cho phép một ứng dụng truy cập vào dữ liệu vị trí khi ứng dụng đó đang thực sự được sử dụng (chạy ở nền trước). Đối với hầu hết ứng dụng, cấp này cung cấp mức độ truy cập đầy đủ, trong khi đối với người dùng, đây là một điểm cải tiến lớn về tính minh bạch và quyền kiểm soát. Để tìm hiểu thêm về các thay đổi đối với quyền truy cập thông tin vị trí, hãy xem hướng dẫn dành cho nhà phát triển hoặc bài đăng trên blog của chúng tôi.

Bảo vệ dữ liệu vị trí trong quá trình quét mạng – Hầu hết các API để quét mạng đều yêu cầu quyền truy cập thông tin vị trí tương đối. Android 10 tăng cường bảo vệ xung quanh các API đó bằng cách yêu cầu quyền truy cập thông tin vị trí chi tiết.

Ngăn chặn việc theo dõi thiết bị – Ứng dụng không thể truy cập vào giá trị nhận dạng thiết bị không thể đặt lại mà có thể dùng để theo dõi, bao gồm cả mã IMEI, số sê-ri của thiết bị và các giá trị nhận dạng tương tự. Theo mặc định, địa chỉ MAC của thiết bị cũng được tạo ngẫu nhiên khi kết nối với mạng Wi-Fi. Hãy đọc các phương pháp hay nhất để giúp bạn chọn giá trị nhận dạng phù hợp với trường hợp sử dụng của mình và xem thông tin chi tiết tại đây.

Bảo mật dữ liệu người dùng trong bộ nhớ ngoài – Android 10 ra mắt một số thay đổi để giúp người dùng kiểm soát nhiều hơn đối với các tệp trong bộ nhớ ngoài và dữ liệu ứng dụng trong đó. Ứng dụng có thể lưu trữ các tệp của riêng mình trong hộp cát riêng, nhưng phải sử dụng MediaStore để truy cập vào các tệp phương tiện dùng chung và sử dụng bộ chọn tệp hệ thống để truy cập vào các tệp dùng chung trong bộ sưu tập Tải xuống mới. Tìm hiểu thêm tại đây.

Chặn các sự cố gián đoạn không mong muốn – Android 10 ngăn việc khởi chạy ứng dụng từ chế độ nền bất ngờ chuyển sang nền trước và chiếm quyền lấy tiêu điểm của một ứng dụng khác. Tìm hiểu thêm tại đây.

Bảo mật

Android 10 giới thiệu một số tính năng giúp người dùng an toàn hơn thông qua các tiến bộ trong việc mã hoá, tăng cường bảo mật nền tảng và xác thực. Đọc thêm về các bản cập nhật bảo mật của Android 10 tại đây.

Mã hoá bộ nhớ – Tất cả thiết bị tương thích chạy Android 10 đều bắt buộc phải mã hoá dữ liệu người dùng. Để việc này hiệu quả hơn, Android 10 có Adiantum, chế độ mã hoá mới của chúng tôi.

TLS 1.3 theo mặc định – Android 10 cũng bật TLS 1.3 theo mặc định, một bản sửa đổi lớn đối với tiêu chuẩn TLS với các lợi ích về hiệu suất và tăng cường bảo mật.

Cải thiện độ bảo mật của nền tảng – Android 10 cũng bao gồm tính năng cải thiện độ bảo mật cho một số khu vực quan trọng về bảo mật của nền tảng.

Cải thiện thông tin sinh trắc học – Android 10 mở rộng khung BiometricPrompt để hỗ trợ các phương thức xác thực thụ động như khuôn mặt, đồng thời thêm các luồng xác thực ngầm ẩn và rõ ràng. Trong luồng rõ ràng, người dùng phải xác nhận rõ ràng giao dịch trong TEE trong quá trình xác thực. Quy trình ngầm ẩn được thiết kế để thay thế cho các giao dịch có phương thức xác thực thụ động. Android 10 cũng cải thiện phương thức dự phòng cho thông tin xác thực thiết bị khi cần. Tìm hiểu thêm tại đây.

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

Độ sâu động cho ảnh

Giờ đây, các ứng dụng có thể yêu cầu hình ảnh Độ sâu động, bao gồm siêu dữ liệu JPEG, XMP liên quan đến các phần tử liên quan đến độ sâu, cũng như bản đồ độ sâu và độ tin cậy được nhúng trong cùng một tệp. Các tính năng này cho phép bạn cung cấp các lựa chọn làm mờ và bokeh chuyên biệt trong ứng dụng. Độ sâu động là một định dạng mở cho hệ sinh thái và chúng tôi đang hợp tác với các đối tác để đưa tính năng này đến các thiết bị chạy Android 10 trở lên.

Với hình ảnh Độ sâu động, bạn có thể cung cấp các lựa chọn làm mờ và hiệu ứng bokeh chuyên biệt trong ứng dụng của mình.

Ghi lại quá trình phát âm thanh

Giờ đây, mọi ứng dụng phát âm thanh đều có thể cho phép các ứng dụng khác ghi lại luồng âm thanh của ứng dụng đó bằng cách sử dụng API ghi lại quá trình phát âm thanh mới. Ngoài việc bật phụ đề và phụ đề chi tiết, API này còn cho phép bạn hỗ trợ các trường hợp sử dụng phổ biến như phát trực tiếp trò chơi. Chúng tôi đã xây dựng tính năng mới này với tâm trí bảo vệ quyền riêng tư và bản quyền, vì vậy, khả năng một ứng dụng ghi lại âm thanh của ứng dụng khác bị hạn chế, cho phép các ứng dụng kiểm soát toàn bộ việc liệu luồng âm thanh của chúng có thể được ghi lại hay không. Hãy đọc thêm trong bài đăng trên blog này.

Bộ mã hoá và giải mã âm thanh và video mới

Android 10 hỗ trợ thêm bộ mã hoá và giải mã video nguồn mở AV1, cho phép các nhà cung cấp nội dung nghe nhìn truyền trực tuyến nội dung video chất lượng cao đến các thiết bị Android bằng băng thông ít hơn. Ngoài ra, Android 10 hỗ trợ mã hoá âm thanh bằng Opus – một bộ mã hoá và giải mã nguồn mở, không tính phí bản quyền, được tối ưu hoá cho lời nói và phát trực tuyến nhạc – cũng như HDR10+ cho video dải động cao trên các thiết bị hỗ trợ. MediaCodecInfo API giới thiệu một cách dễ dàng hơn để xác định khả năng kết xuất video của thiết bị Android. Đối với bất kỳ bộ mã hoá và giải mã nào, bạn có thể lấy danh sách các kích thước và tốc độ khung hình được hỗ trợ.

API MIDI gốc

Đối với các ứng dụng xử lý âm thanh bằng C++, Android 10 sẽ giới thiệu một API MIDI gốc để giao tiếp với các thiết bị MIDI thông qua NDK. API này cho phép truy xuất dữ liệu MIDI bên trong lệnh gọi lại âm thanh bằng cách đọc không chặn, cho phép xử lý thông điệp MIDI có độ trễ thấp. Hãy thử với ứng dụng mẫu và mã nguồn tại đây.

Micrô định hướng, có thể thu phóng

Android 10 giúp bạn kiểm soát tốt hơn việc ghi âm thông qua API MicrophoneDirection mới. Bạn có thể sử dụng API để chỉ định hướng ưu tiên của micrô khi ghi âm. Ví dụ: khi người dùng quay video "tự chụp", bạn có thể yêu cầu micrô trước để ghi âm (nếu có). Ngoài ra, API này giới thiệu một cách thức chuẩn hoá để điều khiển micrô có thể thu phóng, cho phép ứng dụng của bạn kiểm soát phương diện trường quay video.

Vulkan ở mọi nơi

Android 10 mở rộng phạm vi tác động của Vulkan bằng cách triển khai API nhiều nền tảng, mức hao tổn thấp dành cho đồ hoạ 3D hiệu suất cao. Vulkan 1.1 hiện là yêu cầu đối với tất cả thiết bị 64 bit chạy Android 10 trở lên và là đề xuất cho tất cả thiết bị 32 bit. Chúng tôi đã nhận thấy sự tăng trưởng đáng kể về khả năng hỗ trợ Vulkan trong hệ sinh thái – trong số các thiết bị chạy Android N trở lên, 53% hỗ trợ Vulkan 1.0.3 trở lên. Với yêu cầu mới trong Android 10, chúng tôi dự kiến sẽ thấy mức độ sử dụng cải thiện hơn nữa trong năm tới.

Khả năng kết nối

Cải thiện khả năng kết nối Internet và kết nối ngang hàng

Chúng tôi đã tái cấu trúc ngăn xếp Wi-Fi để cải thiện quyền riêng tư và hiệu suất, đồng thời cải thiện các trường hợp sử dụng phổ biến như quản lý thiết bị IoT và đề xuất kết nối Internet mà không cần quyền truy cập thông tin vị trí. API kết nối mạng giúp bạn dễ dàng quản lý các thiết bị IoT qua Wi-Fi cục bộ, cho các chức năng ngang hàng như định cấu hình, tải xuống hoặc in. API đề xuất mạng cho phép ứng dụng hiển thị các mạng Wi-Fi ưu tiên cho người dùng để kết nối Internet.

Chế độ hiệu suất Wi-Fi

Giờ đây, ứng dụng có thể yêu cầu Wi-Fi thích ứng bằng cách bật chế độ hiệu suất cao và độ trễ thấp. Đây có thể là một lợi ích lớn khi độ trễ thấp đóng vai trò quan trọng đối với trải nghiệm người dùng, chẳng hạn như chơi trò chơi theo thời gian thực, cuộc gọi thoại đang hoạt động và các trường hợp sử dụng tương tự. Nền tảng này hoạt động với phần mềm của thiết bị để đáp ứng yêu cầu với mức tiêu thụ điện năng thấp nhất. Để sử dụng các chế độ hiệu suất mới, hãy gọi WifiManager.WifiLock.createWifiLock() bằng WIFI_MODE_FULL_LOW_LATENCY hoặc WIFI_MODE_FULL_HIGH_PERF. Trong các chế độ này, nền tảng sẽ hoạt động với phần mềm cơ sở của thiết bị để đáp ứng yêu cầu với mức tiêu thụ điện năng thấp nhất.

Kiến thức cơ bản về Android

Các tính năng tối ưu hoá ART

Các điểm cải tiến trong môi trường thời gian chạy ART giúp ứng dụng của bạn khởi động nhanh hơn, tiêu tốn ít bộ nhớ hơn và chạy mượt mà hơn mà bạn không cần làm gì cả. Hồ sơ ART do Google Play phân phối cho phép ART biên dịch trước các phần của ứng dụng ngay cả trước khi ứng dụng chạy. Trong thời gian chạy, Android 10 sẽ thêm tính năng Thu thập rác theo thế hệ vào Trình thu gom rác sao chép đồng thời (CC) của ART để thu thập rác hiệu quả hơn về thời gian và CPU, giảm hiện tượng giật và giúp ứng dụng chạy tốt hơn trên các thiết bị cấp thấp.

Biểu đồ này cho thấy mức độ cải thiện về thời gian khởi động của một số ứng dụng cụ thể khi được kiểm thử bằng hồ sơ Play.

Neural Networks API 1.2

Chúng tôi đã thêm 60 toán tử mới, bao gồm ARGMAX, ARGMIN, LSTM lượng tử hoá, cùng với một loạt các tính năng tối ưu hoá hiệu suất. Điều này đặt nền tảng cho việc tăng tốc phạm vi mô hình lớn hơn nhiều, chẳng hạn như các mô hình phát hiện đối tượng và phân đoạn hình ảnh. Chúng tôi đang hợp tác với các nhà cung cấp phần cứng và các khung máy học phổ biến như TensorFlow để tối ưu hoá và triển khai tính năng hỗ trợ cho NNAPI 1.2.

Thermal API

Khi trở nên quá nóng, thiết bị có thể điều tiết CPU và/hoặc GPU, gây ảnh hưởng không mong muốn đến ứng dụng và trò chơi. Giờ đây, trong Android 10, các ứng dụng và trò chơi có thể sử dụng API nhiệt để theo dõi các thay đổi trên thiết bị và hành động để giúp khôi phục nhiệt độ bình thường. Ví dụ: ứng dụng phát trực tuyến có thể giảm độ phân giải/tốc độ bit hoặc lưu lượng truy cập mạng, ứng dụng máy ảnh có thể tắt đèn flash hoặc tính năng tăng cường hình ảnh chuyên sâu, hoặc trò chơi có thể giảm tốc độ khung hình hoặc lưới đa giác. Hãy đọc thêm tại đây.

Khả năng tương thích thông qua API công khai

Android 10 tiếp tục mở rộng các quy định hạn chế đối với giao diện không phải SDK để các ứng dụng dần chuyển sang chỉ sử dụng API công khai. Nếu giao diện mà bạn đang sử dụng bị hạn chế, bạn có thể yêu cầu API công khai mới cho giao diện đó. Để giúp bạn chuyển đổi và ngăn ứng dụng bị lỗi, chúng tôi sẽ chỉ bật các quy định hạn chế khi ứng dụng của bạn nhắm đến Android 10 (API 29). Để biết thêm thông tin chi tiết về các quy định hạn chế, hãy xem hướng dẫn dành cho nhà phát triển.

Cập nhật nhanh hơn, mã mới hơn

Android 10 được xây dựng để cập nhật nhanh hơn thông qua Dự án Treble. Dự án này cung cấp giao diện nhất quán, có thể kiểm thử giữa Android và mã thiết bị cơ bản của các nhà sản xuất thiết bị và nhà sản xuất silicon. Thông qua Treble, nhà sản xuất thiết bị có thể đưa Android 10 lên các thiết bị tuân thủ Treble nhanh hơn và với chi phí thấp hơn.

Android 10 cũng là bản phát hành đầu tiên hỗ trợ Project Mainline (chính thức gọi là bản cập nhật hệ thống Google Play), công nghệ mới của chúng tôi để bảo vệ người dùng Android và giúp thiết bị của họ luôn mới mẻ với các thay đổi quan trọng về mã – trực tiếp từ Google Play. Với bản cập nhật hệ thống Google Play, chúng tôi có thể cập nhật các thành phần nội bộ cụ thể trên tất cả thiết bị chạy Android 10 trở lên mà không cần nhà sản xuất thiết bị phải cập nhật toàn bộ hệ thống.

Đối với nhà phát triển, chúng tôi dự kiến những nội dung cập nhật này trong Android 10 sẽ giúp tăng tính nhất quán của việc triển khai nền tảng trên nhiều thiết bị và theo thời gian, mang lại tính đồng nhất cao hơn, giúp giảm chi phí phát triển và kiểm thử.

Bắt đầu

Để biết toàn bộ tài nguyên dành cho nhà phát triển về Android 10, hãy truy cập vào developer.android.com/10.