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

Android 10 được xây dựng xoay quanh 3 chủ đề quan trọng. Trước tiên, Android 10 đang định hình đỉnh cao về đổi mới di động nhờ công nghệ học máy tiên tiến và khả năng hỗ trợ các thiết bị mới nổi như điện thoại 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 cung cấp cho người dùng khả năng bảo vệ, tính minh bạch và quyền kiểm soát tốt hơn. Cuối cùng, Android 10 mở rộng các chế độ kiểm soát cân bằng cuộc sống số của người dùng để các cá nhân và gia đình có thể cân bằng hơn với công nghệ.

Dưới đây là các tính năng trong Android 10 dành cho nhà phát triển và cách bạn có thể sử dụng Android 10 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 những điểm 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 thú vị cho người dùng.

Với Android 10, bạn có thể tối ưu hoá ứng dụng của mình 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 khả năng đa nhiệm trên các cửa sổ ứng dụng và cung cấp tính liên tục của màn hình để duy trì trạng thái ứng dụng của bạn khi thiết bị gập lại 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 cần tập trung. Tệp 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 lớn và màn hình có thể gập lại. Để giúp bạn tạo ứng dụng cho các thiết bị có thể gập lại, bạn có thể định cấu hình trình mô phỏng có thể gập lại làm 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 hướng dẫn cho nhà phát triển.

Mạng 5G

5G hứa hẹn mang đến tốc độ nhanh hơn nhất quán và độ trễ thấp hơ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 những cải tiến này. Bạn có thể sử dụng các API khả năng 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ờ đó, các ứ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.

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. Các ứ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 phải làm gì cả. Theo mặc định, các thao tác và câu trả lời thông minh do hệ thống cung cấp được chèn trực tiếp vào các thông báo. Bạn vẫn có thể cung cấp phản hồi và hành động của riêng mình nếu muốn. Chỉ cần chọn không sử dụng tính năng Trả lời thông minh trên mỗi thông báo bằng cách dùng setAllowGeneratedReplies()setAllowSystemGeneratedContextActions().

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, lý tưởng cho á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ẽ chuyển giao diện người dùng hệ thống sang chế độ tối và bật giao diện tối cho 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 có thể linh động tạo phiên bản tối từ giao diện hiện có. Bạn cũng nên 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ũ. Xem hướng dẫn cho nhà phát triển để biết thêm thông tin.

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

Di chuyển bằng cử chỉ

Thao tác bằng cử chỉ giúp ứng dụng xem nội dung trên toàn màn hình.

Android 10 ra mắt chế độ điều hướng bằng cử chỉ hoàn chỉnh giúp loại bỏ khu vực thanh điều hướng và cho phép các ứng dụng sử dụng chế độ toàn màn hình để mang lại trải nghiệm phong phú hơn và sống động hơn. Thao tác này vẫn giữ nguyên cách thao tác Quay lại, Màn hình chính và Gần đây quen thuộc thông qua các 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 thao tác bằng cử chỉ, bạn nên di chuyển tràn viền, vẽ phía sau thanh điều hướng để tạo ra trải nghiệm sống động. Để triển khai việc này, các ứng dụng nên sử dụng API setSystemUiVisibility() để bố trí toàn màn hình, sau đó xử lý WindowInsets 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. 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 các chế độ cài đặt quan trọng của hệ thống 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 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ụ: một 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 điều khiển cài đặt, bạn chỉ cần kích hoạt ý định bằng một trong các thao tác Settings.Bảng điều khiển mới.

Lối tắt để chia sẻ

Tính năng chia sẻ lối tắt giúp chia sẻ nhanh hơn và dễ dàng hơn, cho phép người dùng chuyển thẳng đến ứ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ẻ chạy một hoạt động cụ thể trong ứng dụng của họ có đính kèm nội dung, và những mục tiêu này sẽ hiển thị với người dùng trong giao diện người dùng chia sẻ. Vì các bản phát hành này đã được phát hành trước nên giao diện người dùng chia sẻ sẽ tải ngay lập tức khi khởi chạy. Tính năng chia sẻ lối tắt cũng 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 ShareTarget AndroidX. Hãy xem ứng dụng mẫu để biết thông tin chi tiết.

Lối tắt chia sẻ giúp người dùng chuyển thẳng đến một hoạt động cụ thể trong ứng dụng 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 trong Android 10, từ các biện pháp bảo vệ mạnh mẽ hơn trong nền tảng cho đến các tính năng mới được thiết kế chú trọng vào quyền riêng tư. Dựa trên các bản phát hành trước, Android 10 cung cấp các thay đổi lớn để bảo vệ quyền riêng tư và mang lại cho người dùng 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ề loại 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ợ những tính năng 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 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 quyền mới – giờ đây, họ có thể chỉ cho phép một ứng dụng truy cập thông tin 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, điều này cung cấp cấp truy cập đầy đủ, còn đối với người dùng, đó là một 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 vị trí, hãy xem hướng dẫn 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 các mạng đều đã yêu cầu quyền truy cập thông tin vị trí tương đối. Android 10 tăng khả nă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í chính xác.

Ngăn việc theo dõi thiết bị – Các ứng dụng không thể truy cập vào những 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. 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 cho 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 đưa ra 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 đó. Các ứng dụng có thể lưu trữ 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 nội dung nghe nhìn được chia sẻ và sử dụng bộ chọn tệp của hệ thống để truy cập các tệp được chia sẻ trong bộ sưu tập Tệp đã tải xuống mới. Tìm hiểu thêm tại đây.

Chặn gián đoạn không mong muốn – Android 10 ngăn các ứng dụng chạy ở chế độ nền đột ngột chuyển sang nền trước và giành quyền lấy tiêu điểm từ 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 tăng cường bảo mật cho người dùng thông qua các tiến bộ về mã hoá, 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ả cá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à bảo mật nâng cao.

Tăng cường nền tảng – Android 10 cũng bao gồm tăng cường bảo mật cho một số khía cạnh 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 thức 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 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. Luồng ngầm ẩn được thiết kế cho một giải pháp thay thế nhẹ hơn cho các giao dịch có xác thực thụ động. Android 10 cũng cải thiện tính năng 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

Chiều sâu động cho ảnh

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

Với hình ảnh có Chiều sâu động, bạn có thể cung cấp các tuỳ chọn làm mờ và 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, 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 thông qua API ghi lại âm thanh mới. Ngoài việc bật tính năng tạo 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. Chúng tôi đã xây dựng tính năng mới này với sự chú trọng đến việc bảo vệ quyền riêng tư và bản quyền. Vì vậy, khả năng ghi lại âm thanh của ứng dụng khác sẽ bị hạn chế, giúp ứng dụng có toàn quyền kiểm soát việc liệu luồng âm thanh của ứng dụng đó có thể thu được 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 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 thiết bị Android sử dụng ít băng thông hơn. Ngoài ra, Android 10 còn hỗ trợ phương thức 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á để phát nhạc và giọng nói, cũng như HDR10+ cho video có dải động cao trên những thiết bị có hỗ trợ công nghệ 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ị Android. Đối với một bộ mã hoá và giải mã cụ thể, 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 trong C++, Android 10 ra mắt API MIDI gốc để giao tiếp với 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 sử dụng tính năng đọc không tuần tự, cho phép xử lý thông báo MIDI có độ trễ thấp. Hãy dùng 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 mang đến cho bạn nhiều quyền kiểm soát hơn đối với tính năng ghi âm thông qua API MicrophoneDirection mới. Bạn có thể sử dụng API này để chỉ định hướng ưu tiên của micrô khi ghi âm. Ví dụ: khi người dùng đang quay video "tự chụp chân dung", bạn có thể yêu cầu micrô mặt trước để ghi âm (nếu có). Ngoài ra, API này giới thiệu một cách chuẩn hoá để kiểm soát 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ác động của Vulkan nhờ cách chúng tôi triển khai API nhiều nền tảng và í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 trên tất cả thiết bị 64 bit chạy Android 10 trở lên và là một đề xuất cho tất cả thiết bị 32 bit. Chúng tôi nhận thấy việc hỗ trợ Vulkan rất đáng kể trong hệ sinh thái này – 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ẽ cải thiện hơn nữa mức độ sử dụng trong năm tới.

Khả năng kết nối

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

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, cũng như để cải thiện những 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ộ, thực hiện 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, các ứ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 tuyệt vời trong đó độ trễ thấp có ý nghĩa 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, thực hiện lệnh gọi thoại 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 có 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. Ở những chế độ này, nền tảng sẽ hoạt động với chương trình cơ sở của thiết bị để đáp ứng yêu cầu có mức tiêu thụ điện năng thấp nhất.

Nền tảng Android

Tối ưu hoá ART

Những cải tiến trong thời gian chạy ART giúp ứng dụng 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ì 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 gom rác phát sinh vào tính năng Thu gom rác đồng thời (CC) của ART để giúp việc thu gom rác hiệu quả hơn về mặt 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 hơn.

Biểu đồ này cho biết tỷ lệ phần trăm mức cải thiện về thời gian khởi động của một số ứng dụng khi được kiểm thử bằng Hồ sơ trên Play.

Neural Networks API 1.2

Chúng tôi đã thêm 60 hoạt động 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. Việc này đặt nền móng để tăng tốc nhiều mô hình hơn, 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 làm việ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 hóa và triển khai tính năng hỗ trợ cho NNAPI 1.2.

API Nhiệt

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ể dùng API thermal để 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 truyền trực tuyến có thể làm 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 tính năng đèn flash hoặc tính năng nâng cao hình ảnh chuyên sâu, hoặc trò chơi có thể làm giảm tốc độ khung hình hoặc lưới đa giác. Đọ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 một giao diện bạn đang sử dụng bị hạn chế, bạn có thể yêu cầu một API công khai mới cho giao diện đó. Để giúp bạn chuyển đổi và ngăn ứng dụng của bạn bị lỗi, chúng tôi sẽ chỉ bật các hạn chế này khi ứng dụng của bạn nhắm đến Android 10 (API 29). Để biết thêm thông tin về những quy định hạn chế này, hãy xem hướng dẫn 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 Project Treble, 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, các nhà sản xuất thiết bị có thể đưa Android 10 sang các thiết bị tương thích với Treble nhanh hơn 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 đượ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 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, chúng tôi có thể cập nhật các thành phần nội bộ cụ thể trên mọi thiết bị chạy Android 10 trở lên mà không cần phải cập nhật toàn bộ hệ thống từ nhà sản xuất thiết bị.

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

Bắt đầu

Để xem các tài nguyên đầy đủ dành cho nhà phát triển Android 10, hãy truy cập developer.android.com/10.