Tất cả thiết bị di động bán ở Ấn Độ từ ngày 1 tháng 1 năm 2017 đều phải cung cấp nút hoảng loạn để đáp ứng các yêu cầu của Bộ Viễn thông Ấn Độ (DoT). Để đáp ứng các yêu cầu theo quy định này, Android bao gồm một tài liệu tham khảo triển khai tính năng Khẩn cấp để bật nút báo động khẩn cấp Thiết bị Android.
Tính năng này được bật theo mặc định trong các bản phát hành Android 8.0 trở lên, nhưng phải được vá vào bản dựng hiện có của bản phát hành trước đó. Chiến dịch này Tính năng này chỉ nhắm đến các thiết bị được bán ở thị trường Ấn Độ nhưng có thể có trên tất cả thiết bị được bán trên toàn thế giới vì tính năng này không có hiệu lực bên ngoài Ấn Độ.
Ví dụ và nguồn
Tính năng Khẩn cấp Affordance được triển khai trong Nguồn mở Android Dự án (AOSP) khung/cơ sở dự án. Tính năng này có trong nhánh main và được bật theo mặc định trong Android 8.0 trở lên.
Tính năng này hiện có trong các nhánh và thay đổi sau. Thông tin này được cung cấp để cho phép nhà sản xuất thiết bị dễ dàng khắc phục những thay đổi cần thiết vào bản dựng hiện tại của họ. Các nhà sản xuất thiết bị muốn triển khai tính năng tương tác khẩn cấp tham chiếu AOSP có thể chọn cherry-pick cam kết từ các nhánh hiện hành vào bản dựng của riêng họ.
Chi nhánh | Cam kết |
---|---|
chính | e0c3c66
Thêm tính năng Khả năng tương tác khẩn cấp 42a4338 Thêm bản dịch cho chuỗi hành động khẩn cấp 4df8d64 Khắc phục vấn đề thuộc tính tương tác khẩn cấp xuất hiện trên máy tính bảng |
nougat-dev | e6680d9
Thêm tính năng Khả năng tương tác khẩn cấp 95e1865 Thêm bản dịch cho chuỗi hành động khẩn cấp a70bb89 Khắc phục vấn đề thuộc tính tương tác khẩn cấp xuất hiện trên máy tính bảng |
kẹo dẻo nhà phát triển | cd22634
Thêm tính năng Khả năng tương tác khẩn cấp 13f51c6 Thêm bản dịch cho chuỗi hành động khẩn cấp 6531666 Khắc phục vấn đề thuộc tính tương tác khẩn cấp xuất hiện trên máy tính bảng |
kẹo-mr1-dev | 5fbc86b
Thêm tính năng Khả năng tương tác khẩn cấp 1b60879 Thêm bản dịch cho chuỗi hành động khẩn cấp d74366f Khắc phục vấn đề thuộc tính tương tác khẩn cấp xuất hiện trên máy tính bảng |
Triển khai
Tính năng Khẩn cấp không làm thay đổi các API được hiển thị thông qua Android Software Development Kit (SDK). Khi được bật và kích hoạt, tính năng này cung cấp 2 điều kiện kích hoạt có thể bắt đầu cuộc gọi khẩn cấp đến số 112 là số khẩn cấp duy nhất dùng ở Ấn Độ và được Ấn Độ uỷ nhiệm Quy định của DoT.
Cuộc gọi khẩn cấp được thực hiện bằng một trong hai thiết bị sau:
Nhấn và giữ nút EMERGENCY trên màn hình khoá |
Nhấn vào lựa chọn Khẩn cấp trong Trình đơn thao tác chung |
---|---|
|
|
Tính năng này giới thiệu các thành phần nội bộ sau đây:
- Khẩn cấpAffordanceManager
frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
- Dịch vụ Khẩn cấp Affordance
frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
Khẩn cấpAffordanceManager
Khẩn cấpAffordanceManager cung cấp một API nội bộ để dùng ứng dụng Khẩn cấp Tính năng thử nghiệm. API này cung cấp các phương thức để bắt đầu cuộc gọi khẩn cấp và truy vấn trong thời gian chạy xem có nên bật tính năng này không.
void performEmergencyCall()
. Bắt đầu cuộc gọi khẩn cấp.boolean needsEmergencyAffordance()
. Xác định xem đối tượng phải hoạt động.
Tính năng này có thể bị tắt vĩnh viễn tại thời điểm xây dựng bằng cách thay đổi
Hằng số EmergencyAffordanceManager.ENABLED
thành false
.
Điều này sẽ khiến needsEmergencyAffordance()
luôn trả về giá trị false
và ngăn EmergencyAffordanceService
khởi động.
Dịch vụ Khẩn cấp Affordance
EmergencyAffordanceService
là một dịch vụ hệ thống giám sát
Mã di động quốc gia (MCC) của tất cả các mạng di động được phát hiện và MCC
của thẻ SIM đã lắp. Nếu có bất kỳ thẻ SIM nào đã lắp hoặc phát hiện thấy
mạng di động có MCC khớp với một trong các MCC của Ấn Độ (404 hoặc 405) thì
sẽ được bật. Điều này có nghĩa là chúng tôi có thể bật tính năng này ở Ấn Độ ngay cả khi
không có thẻ SIM nào. Giả định rằng mạng di động sẽ cho phép
đăng ký cuộc gọi khẩn cấp ngay cả khi không lắp thẻ SIM. Tính năng
sẽ vẫn được bật cho đến khi bạn cài đặt SIM không phải của Ấn Độ và không phát hiện thấy SIM nào
các mạng có MCC phù hợp.
Các tài nguyên và chế độ cài đặt sau đây ảnh hưởng đến hoạt động của trường hợp khẩn cấp Tính năng thử nghiệm. Nếu loại cấu hình là:
- Tài nguyên, đó là một tài nguyên nội bộ được xác định trong
frameworks/base/core/res/res/values/config.xml
. - Cài đặt, đây là một chế độ cài đặt được lưu trữ trong phần cài đặt hệ thống Google Cloud.
Loại cấu hình | Tên | Mô tả |
---|---|---|
Tài nguyên | config_emergency_call_number | Số điện thoại sẽ được tự động gọi khi cuộc gọi khẩn cấp
bắt đầu. Loại: Chuỗi Mặc định: 112 |
Tài nguyên | config_emergency_mcc_codes | Một mảng số nguyên liệt kê những MCC mà tính năng sẽ hoạt động. Loại: Mảng số nguyên Mặc định: {404,405} |
Xem xét | số_affordance_ngày | Ghi đè chế độ cài đặt chung bằng số điện thoại cần gọi khi khẩn cấp
tương tác. Thao tác này chỉ ảnh hưởng đến các hình ảnh bản dựng có thể gỡ lỗi (tức là bản dựng
là userdebug hoặc eng). Tính năng này chỉ dành cho mục đích thử nghiệm. Loại: Chuỗi Mặc định: chưa đặt |
Xem xét | lực_emergency_affordance | Chế độ cài đặt chung, cho dù có nên hiển thị thuộc tính tương tác khẩn cấp hay không
về trạng thái thiết bị. Tính năng này chỉ dành cho mục đích thử nghiệm. Loại: Boolean (1 hoặc 0) Mặc định: chưa đặt --> 0 |
Bật cuộc gọi khẩn cấp đến số 112
Tính năng thành phần khẩn cấp kết nối cuộc gọi trong trường hợp khẩn cấp trình quay số để có thể kết nối cuộc gọi khi màn hình khoá đang hoạt động. Chiến lược phát hành đĩa đơn trình quay số khẩn cấp chỉ kết nối các cuộc gọi đến danh sách các số do Lớp giao diện vô tuyến (RIL) thông qua thuộc tính hệ thống:
ril.ecclist
khi không lắp SIM nào.ril.ecclistSimSlotNumber
khi đã lắp SIM vàSimSlotNumber
là mã vùng của quảng cáo mặc định người đăng ký.
Các nhà sản xuất thiết bị sử dụng tính năng thành phần khẩn cấp phải đảm bảo rằng các thiết bị ở Ấn Độ luôn bật 112 làm số khẩn cấp trong RIL.
Xác nhận kết quả
Trong khi kiểm thử trên một bản dựng có thể gỡ lỗi, bạn có thể thay đổi số được gọi bằng lệnh sau:
adb shell settings put global emergency_affordance_number NUMBER_TO_CALL
Mặc dù bạn có thể đặt chế độ cài đặt này trên một bản dựng người dùng thông thường, nhưng chế độ cài đặt này sẽ bị bỏ qua. Để thực sự kết nối được cuộc gọi, số này phải có trong danh sách khẩn cấp các số do RIL cung cấp. Bạn có thể tạm thời đặt chế độ này bằng cách sử dụng lệnh được thực thi từ một shell gốc trên thiết bị userdebug:
setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"
Lệnh sau đây cũng có thể được dùng để buộc thực hiện Tìm kiếm khẩn cấp được bật ngay cả khi không có mạng di động của Ấn Độ đã phát hiện thấy hoặc đang lắp thẻ SIM của Ấn Độ.
adb shell settings put global force_emergency_affordance 1
Bạn nên kiểm thử các trường hợp sau ở mức tối thiểu:
- Sau khi kích hoạt, hãy nhấn và giữ nút KHẨN CẤP để bật màn hình khoá (Hình 1) sẽ bắt đầu cuộc gọi đến số khẩn cấp đã chỉ định.
- Sau khi được kích hoạt, mục Khẩn cấp trong Hành động chung Trình đơn đang hoạt động và thao tác nhấn vào trình đơn này sẽ bắt đầu cuộc gọi đến trường hợp khẩn cấp đã chỉ định số.
- Tính năng không được kích hoạt khi không có phát hiện mạng di động Ấn Độ có lắp thẻ SIM không phải của Ấn Độ.
- Tính năng này được kích hoạt trên thiết bị khi người dùng SIM Ấn Độ thẻ đã được cài đặt, bất kể mạng di động được phát hiện là gì.
- Tính năng này được kích hoạt trên thiết bị với sự hiện diện của Mạng di động của Ấn Độ, bất kể thẻ SIM đã lắp.
Nếu thiết bị bao gồm hỗ trợ nhiều thẻ SIM, việc kiểm tra phải đảm bảo tính năng phát hiện MCC của SIM hoạt động đúng cách trong từng khe SIM. Trường hợp khẩn cấp Tính năng tìm kiếm không chịu sự điều chỉnh của khả năng tương thích với Android, nên không có tính năng nào Các bài kiểm tra Bộ kiểm tra tính tương thích (CTS) cho nó.
Câu hỏi thường gặp
Hỏi: Số khẩn cấp 112 chưa được đưa vào hoạt động tại Ấn Độ. Tôi có nên tiếp tục sử dụng số điện thoại này không?
112 là số sẽ được dùng ở Ấn Độ làm Câu trả lời về an toàn công cộng Điểm (PSAP) được xác định theo giải pháp Ứng phó và liên lạc khẩn cấp tích hợp Hệ thống (IECRS). Tất cả cuộc gọi đến số 112 sẽ được định tuyến cho đến khi PSAP được ủy quyền hoạt động số khẩn cấp 100 hiện có (mặc dù đây là trách nhiệm của nhà mạng chứ không phải Android).
Hỏi: Còn các điều kiện kích hoạt khác như nhấn 3 lần thì sao nút nguồn?
Nhà sản xuất thiết bị có thể chọn triển khai thêm điều kiện kích hoạt. Tuy nhiên, trong khi India DoT phê duyệt thao tác nhấn ba lần vào nút nguồn phần cứng, việc này điều kiện kích hoạt không được hỗ trợ trong quá trình triển khai tham chiếu AOSP (Dự án nguồn mở Android) vì một số ứng dụng được sử dụng rộng rãi (ví dụ: ứng dụng Máy ảnh) sử dụng cử chỉ qua nút nguồn bao gồm cả việc nhấn liên tục vào nút nguồn. Những ứng dụng như vậy có thể can thiệp vào trình quay số khẩn cấp hoặc người dùng có thể vô tình kích hoạt nút hoảng loạn khi cố gắng kích hoạt các hành động trong các ứng dụng này.