Triển khai các hoạt động khẩn cấp

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ọ.

Bảng 1. Chọn lựa chọn cho thuộc tính khẩn cấp tham chiếu AOSP (Dự án nguồn mở Android) đối tượng

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
khẩn cấp
nút
Hình 1. Nút EMERGENCY (KHẨN CẤP) đang bật màn hình khoá.
khẩn cấp
lựa chọn
Hình 2. Bật thao tác Khẩn cấp Trình đơn thao tác chung (truy cập bằng cách nhấn và giữ phím nguồn).

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.

Bảng 2. Các chế độ cài đặt ảnh hưởng đến hành vi của thành phần tương tác khẩn cấp đối tượng

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.