Giao diện người dùng kết nối

Trong Android 12 trở lên, nhà sản xuất thiết bị có thể tùy ý áp dụng trải nghiệm kết nối đơn giản hóa để giúp người dùng hiểu rõ hơn về kết nối mạng của họ, chuyển đổi giữa các nhà cung cấp Internet và khắc phục sự cố kết nối mạng. Những thay đổi này về trải nghiệm người dùng so với Android 11 trở xuống, được phản ánh trong giao diện người dùng, biểu tượng và các thay đổi API cho Cài đặt nhanh và Cài đặt. Tất cả những thay đổi này đều có sẵn trong AOSP để các nhà sản xuất thiết bị kích hoạt hoặc tùy chỉnh.

Tổng quan về trải nghiệm kết nối đơn giản hóa

Phần này mô tả những thay đổi chính về giao diện người dùng của trải nghiệm kết nối đơn giản hóa trong AOSP bắt đầu từ Android 12.

Ô Internet trong Cài đặt nhanh

Menu Cài đặt nhanh bao gồm ô Internet mở ra bảng điều khiển Internet nơi người dùng có thể chuyển đổi giữa kết nối Wi-Fi và di động. Ô Internet kết hợp các ô Wi-Fi và Dữ liệu di động được sử dụng trong Android 11 trở xuống.

Ô Internet trong menu Cài đặt nhanh

Hình 1. Ô Internet trong Cài đặt nhanh

Phần Cuộc gọi & SMS trong Cài đặt

Ứng dụng Cài đặt bao gồm phần Cuộc gọi & SMS trong Mạng & Internet hiển thị trạng thái khả dụng và các tùy chọn gọi qua Wi-Fi.

Phần Cuộc gọi & SMS trong Cài đặt

Hình 2. Phần Cuộc gọi & SMS trong Cài đặt

Nút đặt lại trong Cài đặt

Trong ứng dụng Cài đặt, Mạng & Internet > Internet bao gồm nút đặt lại cho phép người dùng đặt lại điện thoại và modem Wi-Fi trên thiết bị, nút này có thể hữu ích khi khắc phục sự cố kết nối mạng.

Nút đặt lại trong Cài đặt để khắc phục sự cố kết nối

Hình 3. Nút đặt lại để khắc phục sự cố kết nối

Thực hiện

Để bật trải nghiệm kết nối đơn giản hóa trên thiết bị của bạn, hãy sử dụng cờ cài đặt chung sau:

  • Tên: persist.sys.fflag.override.settings_provider_model
  • Kiểu: Boolean
  • Giá trị: Đặt thành true để bật hành vi đơn giản hóa kết nối, false để tắt nó và sử dụng hành vi cũ. Kể từ Android 12, đường dẫn mã cho false không còn được duy trì tích cực nữa.

Ngoài ra, bạn có thể định cấu hình các chế độ sau của giao diện người dùng cho từng nhà cung cấp dịch vụ bằng cách sử dụng cấu hình nhà cung cấp dịch vụ . Các phím cấu hình là:

  • CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL : Một boolean cho biết liệu nhà cung cấp dịch vụ có định cấu hình mạng Wi-Fi là một phần của mạng lõi và được hiển thị như một phần của mạng di động hay không. Điều này hoạt động song song với phương thức WifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged) .
  • CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL : Một boolean cho biết liệu kết nối mạng dữ liệu (IP) có được sử dụng làm điều kiện bổ sung cho việc hiển thị cổng của biểu tượng không gọi hay không .
  • CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL : Một boolean cho biết biểu tượng cường độ cuộc gọi có được hiển thị trong giao diện người dùng hệ thống hay không.

API khung

Để tạm thời vô hiệu hóa các mạng Wi-Fi lân cận, hãy sử dụng các API sau:

  • WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId) : Cho phép người dùng chọn mạng của nhà cung cấp dịch vụ mà không tắt Wi-Fi. Tắt tất cả các mạng Wi-Fi hiện có trong thời lượng tối thiểu là 30 phút (được kiểm soát thông qua lớp phủ config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes ) và thời lượng tối đa là 6 giờ (được kiểm soát thông qua lớp phủ config_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes ). Mạng Wi-Fi được bật lại bất cứ khi nào Wi-Fi được bật, thiết bị được khởi động lại, nếu người dùng chọn mạng Wi-Fi (trong trường hợp đó API stopRestrictingAutoJoinToSubscriptionId() được thực thi bởi Cài đặt) hoặc nếu mạng không hiển thị trong 60 phút.
  • WifiManager#stopRestrictingAutoJoinToSubscriptionId() : Khôi phục hoạt động bình thường.

Để hỗ trợ nút đặt lại và giao diện khắc phục sự cố người dùng được triển khai trong lớp com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager , hãy sử dụng các API sau:

  • WifiManager#restartWifiSubsystem(String reason) : Khởi động lại hệ thống con Wi-Fi.
  • TelephonyManager#rebootRadio() : Đặt lại modem radio.

Làm việc với nhiều nhà mạng

Nếu bạn áp dụng trải nghiệm kết nối đơn giản hóa cho một số nhà cung cấp dịch vụ nhất định chứ không phải cho các nhà cung cấp dịch vụ khác, hãy lưu ý đến trường hợp nhiều SIM, trong đó người dùng sử dụng hai SIM, một SIM từ đối tác nhà cung cấp dịch vụ đã chọn thay đổi giao diện người dùng trong khi SIM kia thì không. Trong trường hợp này, hãy đảm bảo quyết định giao diện người dùng nào người dùng sẽ nhìn thấy và kiểm tra kỹ lưỡng hành vi trên thiết bị của bạn.