Thiết bị Android không có số dư dữ liệu cho phép lưu lượng truy cập mạng đi qua, đòi hỏi các nhà cung cấp dịch vụ và công ty viễn thông để triển khai các giao thức giảm thiểu rủi ro. Android triển khai một cho phép các nhà cung cấp dịch vụ và công ty viễn thông chỉ ra khi nào một thiết bị hết số dư.
Nền tảng Android cung cấp một ứng dụng mặc định của nhà mạng có hành vi mặc định cho dựa trên tín hiệu phát hiện trang xác thực. Chiến dịch này cũng cung cấp các hãng vận chuyển và OEM có cơ hội tuỳ chỉnh hành vi với chi phí thấp và rất linh hoạt.
Ví dụ và nguồn
Ứng dụng mặc định của nhà mạng nằm tại platform/frameworks/base/packages/CarrierDefaultApp/.
Triển khai
Ứng dụng mặc định của nhà mạng được định cấu hình để mang lại trải nghiệm tốt hơn cho nhà mạng chưa được định cấu hình ngay từ đầu. Nhà mạng có thể sử dụng chế độ mặc định này. Họ cũng có thể ghi đè hành vi mặc định bằng cách thêm mối liên kết hành động tín hiệu vào tệp XML cấu hình hãng vận chuyển. Trẻ có thể quyết định không dùng ứng dụng mặc định và thay vào đó, hãy sử dụng các đặc quyền UICC với ứng dụng độc lập của nhà mạng.
Giới thiệu về cách triển khai
Tín hiệu
Khung Android hỗ trợ định cấu hình các thao tác cho các tham số sau tín hiệu:
TelephonyIntents.ACTION_CARRIER_SIGNAL_REDIRECTED
TelephonyIntents.ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED
Các tín hiệu này nằm trong
frameworks/base/telephony/java/com/android/internal/telephony/TelephonyIntents.java
.
Thao tác được hỗ trợ
Ứng dụng mặc định của nhà mạng xác định một tập hợp các thao tác được hỗ trợ và có thể được ánh xạ tới
tín hiệu được hỗ trợ. Các giá trị này được xác định trong CarrierActionUtils.java
:
public static final int CARRIER_ACTION_ENABLE_METERED_APNS = 0; public static final int CARRIER_ACTION_DISABLE_METERED_APNS = 1; public static final int CARRIER_ACTION_DISABLE_RADIO = 2; public static final int CARRIER_ACTION_ENABLE_RADIO = 3; public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION = 4; public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5; public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS = 6;
Lưu ý: Nếu nhà mạng triển khai ứng dụng độc lập của riêng họ, thì họ có thể triển khai việc hỗ trợ cho các tín hiệu ngoài những tín hiệu được đề cập trong . Chúng cũng có thể xác định và thiết lập các thao tác của riêng mình.
Mối liên kết tín hiệu – hành động mặc định
Định cấu hình các thao tác mặc định bằng cách làm theo quy trình sau:
- Xác định khoá cho các tín hiệu được hỗ trợ.
Tín hiệu mặc định liên kết với hành động được xác định trong
CarrierConfigManager.java
. Mỗi tín hiệu được hỗ trợ đều có một khoá:public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array"; public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY = "carrier_default_actions_on_dcfailure_string_array";
- Liên kết các thao tác mặc định với khoá tín hiệu.
Mã hành động mặc định được liên kết với các khoá tín hiệu:
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY, new String[]{ "1, 4" //1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION // 4: CARRIER_ACTION_DISABLE_METERED_APNS });
Khung điện thoại ánh xạ các hành động này với các tín hiệu tương ứng.
Ghi đè thao tác mặc định
Bạn có thể xác định thao tác tuỳ chỉnh cho các tín hiệu được hỗ trợ trong tệp XML cấu hình nhà mạng
bằng cách liên kết mã thao tác với các khoá tín hiệu (được định nghĩa trong
CarrierConfigManager.java
). Ví dụ: mối liên kết sau
tắt APN được đo lường và hiển thị thông báo cổng thông tin về lệnh chuyển hướng:
<string-array name="carrier_default_actions_on_redirection_string_array" num="2"> <item value="1" /> <item value="4" /> </string-array>
Khung điện thoại tải các cấu hình này và ghi đè các cấu hình mặc định hành động.
Xác nhận kết quả
Không có thử nghiệm CTS, Trình xác minh CTS hoặc GTS nào cho tính năng này.
Hãy sử dụng các quy trình kiểm tra xác thực thủ công sau đây để xác thực tính năng:
- Xác thực thông báo về tín hiệu mất cân bằng trên thiết bị của công ty viễn thông.
- Xác minh việc điều tiết chuyển hướng lưu lượng truy cập trong trạng thái không cân bằng và Wi-Fi tắt.
- Xác minh rằng lưu lượng truy cập mạng đã giảm và giao diện người dùng thông báo xuất hiện trong khi tắt của trạng thái cân bằng.
- Xác thực chức năng cuộc gọi thoại/VoLTE khi ở trạng thái mất số dư.
- Xác minh để xác minh rằng cuộc gọi video bị chặn ở trạng thái mất cân bằng.
- Khi Wi-Fi bật, xác minh rằng người dùng có thể tiếp tục duyệt web và duyệt web không làm bật lưu lượng truy cập mạng khi mất cân bằng trạng thái.
- Xác thực chức năng Wi-Fi, WFC và Bluetooth khi mất cân bằng trạng thái.
- Tắt Wi-Fi. Xác minh giao diện người dùng thông báo mất cân bằng và giao diện người dùng thông thường đó lưu lượng truy cập duyệt web không được chuyển hướng đến trang web đăng ký công ty dịch vụ viễn thông. Xác minh khi nhấp vào đường liên kết trong giao diện người dùng thông báo, trình duyệt sẽ được chuyển sang công ty dịch vụ viễn thông trang web đăng ký của Google.
- Xác minh rằng việc bật/tắt chế độ trên máy bay không đặt lại chế độ điều tiết lưu lượng truy cập trạng thái.
- Xác minh rằng việc hoán đổi một SIM đang dùng sẽ đặt lại lưu lượng truy cập mạng trạng thái.
- Xác minh rằng việc lắp lại SIM ngoài số dư sẽ khởi động lại hoạt động chuyển hướng lưu lượng truy cập và sẽ tự điều tiết lưu lượng truy cập mạng.
- Xác minh rằng việc khởi động lại điện thoại sẽ kích hoạt lại lệnh chuyển hướng và trả lại điều tiết lưu lượng truy cập và giao diện người dùng thông báo.
- Nhấn vào "hình giam khoá" . Xác minh mạng bị hạn chế kết nối được thiết lập để cho phép người dùng nạp tín dụng.
- Xác minh rằng việc nạp lại số dư SIM hoặc kích hoạt lại SIM là nguyên nhân gây ra mạng di động lưu lượng truy cập cần khôi phục và liên kết Telco và không có thông báo số dư để đi ngay lập tức.
- Kiểm tra tính hợp lý sau khi khôi phục dịch vụ dữ liệu.
Ứng dụng mặc định cung cấp một số ví dụ về kiểm thử đơn vị và tập lệnh để chạy các bài kiểm thử đó
(xem tests/runtest.sh
). Khi bạn triển khai một phiên bản tuỳ chỉnh hoặc
thì bạn nên phản chiếu các hoạt động tuỳ chỉnh đó vào các bài kiểm thử đơn vị chuyên biệt.