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. Đầu tiên, Android 10 đang định hình công nghệ tiên tiến nhất trong lĩnh vực đổi mới di động bằng công nghệ học máy tiên tiến và hỗ trợ các thiết bị mới nổi như điện thoại gập và điện thoại hỗ trợ 5G. Tiếp theo, Android 10 tập trung chủ yếu 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 Digital Wellbeing của người dùng để các cá nhân và gia đình có thể tìm thấy sự cân bằng tốt hơn với công nghệ.

Dưới đây là thông tin sơ lược 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 ngay hôm nay.

Đổi mới và trải nghiệm mới

Với Android 10, bạn có thể tận dụng những cải tiến mới nhất về phần cứng và phần mềm để xây dựng trải nghiệm trong ứ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ở. Android 10 bổ sung một số điểm cải tiến trong onResume() và onPause() để hỗ trợ tính năng đa tiếp tục và thông báo cho ứng dụng khi ứng dụng được lấy tiêu điểm. Thay đổi này cũng ảnh hưởng đến 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 lớn và màn hình có thể gập lại. Để giúp bạn xây dựng ứ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ị có thể gập lại, hãy xem phần Tìm hiểu về thiết bị có thể gập lại.

Mạng 5G

5G hứa hẹn sẽ mang lại tốc độ nhanh hơn 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 ConnectivityManager để giúp bạn tận dụng những điểm cải tiến 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ể mang đến 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 thao tác 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 một đị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à không cần bạn làm gì cả. Theo mặc định, các hành động và câu trả lời thông minh 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 thư trả lời và hành động của riêng mình nếu muốn. Để chọn không sử dụng tính năng Trả lời thông minh trên cơ sở từng thông báo, hãy sử dụng setAllowGeneratedReplies() và setAllowSystemGeneratedContextualActions().

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

Giao diện tối

Android 10 bổ sung 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 hệ thống thành 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 tính năng Bật nhanh giao diện tối để cho phép hệ thống tự động tạo phiên bản tối từ giao diện hiện có. 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 thấp hơn. Để biết thêm thông tin, hãy xem phần Giao diện tối.

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 Bật nhanh giao diện tối.

Điều hướng bằng cử chỉ

Tính năng điều hướng bằng cử chỉ cho phép ứng dụng sử dụng toàn màn hình để hiển thị nội dung.

Android 10 ra mắt chế độ thao tác hoàn toàn bằng cử chỉ, 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ú và sống động hơn. Chế độ này vẫn giữ lại các thao tác điều hướng quen thuộc như Quay lại, Màn hình chính và Gần đây thông qua thao tác vuốt từ cạnh thay vì các nút hiển thị. Để kết hợp liền mạch với tính năng điều hướng bằng cử chỉ, hãy chuyển sang 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, hãy sử dụng API setSystemUiVisibility() để bố trí ứng dụng ở chế độ toàn màn hình, sau đó xử lý WindowInsets sao cho phù hợp để đảm bảo rằng các phần quan trọng của giao diện người dùng không bị che khuất. Để biết thêm thông tin, hãy xem phần Điều hướng bằng cử chỉ và Chuỗi bài đăng trên blog về điều hướng bằng cử chỉ.

Bảng cài đặt

Bạn có thể hiển thị các chế độ cài đặt hệ thống chính ngay trong bối cảnh của ứng dụng thông qua một Settings.Panel API. Bảng điều khiển cài đặt 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ả các mạng lân cận) và Dữ liệu di động. Để hiển thị bảng cài đặt, hãy kích hoạt một ý định bằng một trong các hành động Settings.Panel.

Lối tắt để chia sẻ

Lối tắt chia sẻ giúp việc chia sẻ trở nên 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ể xuất bản 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 và 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, nên giao diện người dùng chia sẻ sẽ tải ngay lập tức khi được 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. Để biết thêm thông tin, hãy xem ứng dụng mẫu Chia sẻ lối tắ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ó đính kèm nội dung.

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

Quyền riêng tư là trọng tâm chính trong 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ế chú trọng đến 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ó thêm quyền kiểm soát, nhờ giao diện người dùng hệ thống được cải thiện, quyền nghiêm ngặt hơn và các quy định hạn chế về dữ liệu mà ứng dụng có thể sử dụng. Để biết thêm thông tin về cách hỗ trợ những thay đổi này trong ứng dụng, hãy xem phần Thay đổi về quyền riêng tư.

Giờ đây, người dùng có thể chọn cấp quyền truy cập thông tin vị trí khi ứng dụng chạy ở 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 tuỳ chọn cấp quyền. Họ có thể cho phép một ứng dụng truy cập vào thông tin vị trí chỉ khi ứng dụng đó thực sự đang được sử dụng (chạy ở nền trước). Đối với hầu hết các ứng dụng, điều này cung cấp đủ quyền truy cập, trong khi đối với người dùng, đây là một cải tiến lớn về tính minh bạch và khả năng kiểm soát. Để biết thêm thông tin về các thay đổi đối với vị trí, hãy xem bài viết Yêu cầu thông báo cập nhật vị trí hoặc bài đăng trên blog của Nhà phát triển Android về vị trí.

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 vị trí tương đối. Android 10 tăng cường khả năng bảo vệ cho các API đó bằng cách yêu cầu quyền truy cập vị trí chính xác.

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

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 để mang lại cho người dùng nhiều quyền kiểm soát 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ữ tệp riêng trong hộp cát riêng tư, nhưng phải sử dụng MediaStore để truy cập vào tệp nội dung nghe nhìn dùng chung và sử dụng bộ chọn tệp hệ thống để truy cập vào tệp dùng chung trong tập hợp Tệp tải xuống. Để biết thêm thông tin, hãy xem bài viết Bộ nhớ có giới hạn.

Chặn các hoạt động gián đoạn không mong muốn: Android 10 ngăn các ứng dụng chạy trong nền đột ngột chuyển sang chạy trên nền trước và chiếm quyền kiểm soát của một ứng dụng khác. Để biết thêm thông tin, hãy xem phần Bắt đầu hoạt động ở chế độ nền.

Bảo mật

Android 10 ra mắt một số tính năng bảo mật giúp người dùng an toàn hơn thông qua những cải tiến về mã hoá, tăng cường bảo mật nền tảng và xác thực. Để biết thêm thông tin, hãy xem bài viết Tính năng mới về bảo mật trong Android Q.

Mã hoá bộ nhớ: Tất cả thiết bị tương thích chạy Android 10 đều phải mã hoá dữ liệu người dùng. Để tăng hiệu quả, Android 10 có tích hợp Adiantum, chế độ mã hoá 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. Đây là một bản sửa đổi lớn đối với tiêu chuẩn TLS, mang lại lợi ích về hiệu suất và tăng cường bảo mật.

Tăng cường bảo mật nền tảng: Android 10 cũng bao gồm tính năng tăng cường bảo mật cho các khu vực quan trọng về bảo mật của nền tảng.

Cải thiện sinh trắc học: Android 10 mở rộng khung BiometricPrompt để hỗ trợ các phương pháp xác thực thụ động như khuôn mặt, đồng thời thêm các quy trình xác thực ngầm định và tường minh. Trong quy trình 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. Luồng cấp quyền trực tiếp được thiết kế để làm giải pháp thay thế gọn nhẹ hơn 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 án dự phòng cho thông tin xác thực thiết bị khi cần. Để biết thêm thông tin, hãy xem bài viết Hiện hộp thoại xác thực bằng sinh trắc học.

Camera và nội dung nghe nhìn

Độ sâu động cho ảnh

Các ứng dụng có thể yêu cầu hình ảnh Độ sâu động, bao gồm JPEG, siêu dữ liệu 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 tuỳ chọn làm mờ và hiệu ứng bokeh chuyên biệt trong ứng dụng. Độ sâu động là một định dạng mở cho các thiết bị chạy Android 10 (cấp độ API 29) trở lên. Để biết thêm thông tin, hãy xem Thông số kỹ thuật về Độ sâu động (PDF).

Với hình ảnh Độ sâu động, bạn có thể cung cấp các tuỳ 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

Bất kỳ ứng dụng nào 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. Ngoài việc bật phụ đề, 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ư trò chơi phát trực tiếp. Vì tính năng này được xây dựng dựa trên quyền riêng tư và bảo vệ bằng bản quyền, nên khả năng ghi lại âm thanh của một ứng dụng khác bị hạn chế, giúp ứng dụng có toàn quyền kiểm soát việc có thể ghi lại luồng âm thanh của ứng dụng hay không. Để biết thêm thông tin, hãy xem phần Ghi âm trong Android Q.

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

Android 10 bổ sung tính năng hỗ trợ cho 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ị chạy Android bằng cách sử dụng ít băng thông hơn. Ngoài ra, Android 10 còn hỗ trợ mã hoá âm thanh bằng Opus (một bộ mã hoá và giải mã mở, miễn phí bản quyền, được tối ưu hoá cho việc truyền trực tuyến lời nói và nhạc) và HDR10+ cho video có dải động cao trên các thiết bị hỗ trợ định dạng này. API MediaCodecInfo 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ị chạy Android. Đối với bất kỳ bộ mã hoá và giải mã nào, bạn đều 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 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 một lệnh gọi lại âm thanh bằng cách sử dụng một lệnh đọc không tuần tự, cho phép xử lý các thông báo MIDI có độ trễ thấp. Hãy thử dùng ứ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 thu â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 đang quay video "tự sướng", bạn có thể yêu cầu micrô trước để ghi âm (nếu có). Ngoài ra, API này còn 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 kích thước trường ghi âm.

Vulkan ở mọi nơi

Android 10 mở rộng tầm ảnh hưởng của Vulkan bằng bản triển khai của chúng tôi về API đa nền tảng, ít hao tổn tài nguyên dành cho đồ hoạ 3D hiệu suất cao. Vulkan 1.1 hiện là yêu cầu bắt buộc trên 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 đã thấy động lực đáng kể trong việc 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 hy vọng sẽ thấy tỷ lệ 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

Android 10 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 vị trí. API kết nối mạng giúp bạn dễ dàng quản lý 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 các ứng dụng hiển thị mạng Wi-Fi ưu tiên cho người dùng để kết nối Internet.

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

Ứ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. Điều này có thể mang lại 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 chương trình 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. Để sử dụng các chế độ hiệu suất cao, hãy gọi WifiManager.createWifiLock() bằng WIFI_MODE_FULL_LOW_LATENCY hoặc WIFI_MODE_FULL_HIGH_PERF.

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

Tối ưu hoá ART

Những đ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 thụ ít bộ nhớ hơn và chạy mượt mà hơn mà không cần bạn phải làm gì. Hồ sơ ART do Google Play cung cấp 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 bổ sung Tính năng thu gom rác theo thế hệ vào Trình thu gom rác Sao chép đồng thời (CC) của ART để giúp việc thu gom 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 mượt hơn trên các thiết bị cấp thấp.

Biểu đồ này cho thấy tỷ lệ phần trăm cải thiện 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

Android 10 bổ sung 60 toán tử, bao gồm ARGMAX, ARGMIN và LSTM lượng tử hoá, cùng với một loạt 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 một loạt 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. Google cộng tác với các nhà cung cấp phần cứng và các khung học máy phổ biến như TensorFlow để tối ưu hoá và cung cấp dịch vụ 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, GPU hoặc cả hai, gây ảnh hưởng không mong muốn đến ứng dụng và trò chơi. Trong Android 10, ứ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 cải thiện 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. Để biết thêm thông tin, hãy xem phần Thermal API (API Nhiệt).

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 một giao diện bạn sử dụng bị hạn chế, thì bạn có thể yêu cầu một API công khai cho giao diện đó. Để giúp bạn thực hiện quá trình chuyển đổi và ngăn ứng dụng của bạn gặp sự cố, Android 10 chỉ bật các quy định hạn chế khi ứng dụng của bạn nhắm đến Android 10 (cấp độ API 29). Để biết thêm thông tin, hãy xem bài viết Thông tin cập nhật về những quy tắc hạn chế đối với giao diện không phải SDK trong Android 10.

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, giúp cung cấp một 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 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 (tên chính thức là Bản cập nhật hệ thống Google Play), một công nghệ giúp bảo vệ người dùng Android và luôn cập nhật thiết bị của họ bằng 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, Google Play 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ị cập nhật toàn bộ hệ thống.

Đối với nhà phát triển, những điểm cập nhật này trong Android 10 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ị, đồng thời mang lại sự đồng nhất cao hơn theo thời gian, giúp giảm chi phí phát triển và thử nghiệm.

Bắt đầu

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