Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Số điện thoại khẩn cấp và tính năng gọi khẩn cấp
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Tính năng gọi khẩn cấp là cơ bản và quan trọng đối với thiết bị vì các thiết bị này phải hoạt động cho người dùng Android, đồng thời đáp ứng nhiều yêu cầu của nhà mạng và quy định trên khắp thế giới. Khung Android mang đến cho người dùng trải nghiệm gọi khẩn cấp nhanh chóng và an toàn.
Android 10 cải thiện khả năng hỗ trợ các chức năng gọi khẩn cấp, bảo trì và cập nhật trong nền tảng Android cục bộ bằng cách sử dụng danh sách số điện thoại khẩn cấp chi tiết từ SIM, mạng, modem và cơ sở dữ liệu.
Android 10 cũng hỗ trợ tính năng gọi khẩn cấp dựa trên loại dịch vụ khẩn cấp, chẳng hạn như cảnh sát, cứu hoả hoặc xe cứu thương. Android 10 cải thiện khả năng hỗ trợ cho các thiết bị nhiều SIM bằng cách chia sẻ số điện thoại khẩn cấp từ nhiều gói thuê bao trong API TelephonyManager.
Trong Android 10 với Radio HAL 1.4, tính năng gọi khẩn cấp được cải thiện bằng cách tách các cuộc gọi khẩn cấp khỏi các cuộc gọi thông thường trong giao diện HAL để tối ưu hoá đường dẫn gọi khẩn cấp và cho phép thiết bị quay số số khẩn cấp thích hợp được định cấu hình trong cơ sở dữ liệu Android.
Triển khai
Để triển khai các chức năng gọi khẩn cấp và số khẩn cấp, hãy triển khai các API giao diện phần cứng và TelephonyManager
sau.
API TelephonyManager
Triển khai các API sau:
- Triển khai
getEmergencyNumberList
để lấy số khẩn cấp hợp lệ cho cuộc gọi khẩn cấp dựa trên nguồn số khẩn cấp, bao gồm ngôn ngữ, thẻ SIM, mặc định, modem, cơ sở dữ liệu Android và mạng. Đối với mỗi số điện thoại khẩn cấp, hãy chỉ định danh mục dịch vụ khẩn cấp tương ứng, chẳng hạn như cảnh sát, xe cứu thương và cứu hoả.
- Triển khai
isEmergencyNumber
để xác định xem một số điện thoại có phải là số khẩn cấp hay không.
- Triển khai
isPotentialEmergencyNumber
để xác định một số là số khẩn cấp nếu số đó có cùng chữ số đầu tiên với bất kỳ số khẩn cấp nào.
Các giá trị cho nguồn số khẩn cấp là:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: Số này là từ tín hiệu mạng
EMERGENCY_NUMBER_SOURCE_SIM
: Số điện thoại trên thẻ SIM
EMERGENCY_NUMBER_SOURCE_DATABASE
: Số lượng trong cơ sở dữ liệu do nền tảng duy trì
EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: Số điện thoại trong cấu hình modem
EMERGENCY_NUMBER_SOURCE_DEFAULT
: Số điện thoại có sẵn theo mặc định. Số điện thoại 112 và 911 phải luôn hoạt động. Phải có các số điện thoại 000, 08, 110, 999, 118 và 119 khi không có SIM. Để biết thêm thông tin, hãy xem Mục 10: Cuộc gọi khẩn cấp trong 3GPP TS 22.101.
Các giá trị cho danh mục dịch vụ khẩn cấp là:
UNSPECIFIED
: Cuộc gọi khẩn cấp chung, tất cả danh mục
POLICE
: Cảnh sát
AMBULANCE
: Xe cứu thương
FIRE_BRIGADE
: Đội cứu hỏa
MARINE_GUARD
: Lực lượng bảo vệ bờ biển
MOUNTAIN_RESCUE
: Cứu hộ trên núi
MIEC
: Lệnh gọi khẩn cấp được kích hoạt theo cách thủ công (MIeC)
AIEC
: Lệnh gọi khẩn cấp được kích hoạt tự động (AIeC)
Để biết thêm thông tin, hãy xem Mục 10: Cuộc gọi khẩn cấp trong 3GPP TS 22.101.
API giao diện phần cứng
Triển khai emergencyDial
trong IRadio.hal
. Triển khai emergencyDialResponse
trong IRadioResponse.hal
để gửi phản hồi có loại phản hồi, số sê-ri và thông tin lỗi.
Để báo cáo danh sách số điện thoại khẩn cấp hiện tại, hãy triển khai currentEmergencyNumberList
trong IRadioIndication.hal
. Triển khai EmergencyNumber
trong types.hal
. Thành phần này chứa thông tin về số điện thoại khẩn cấp, bao gồm địa chỉ số, mã quốc gia cho mạng di động (MCC), mã mạng di động (MNC), danh mục dịch vụ khẩn cấp, tên tài nguyên đồng nhất khẩn cấp (URN) và nguồn số điện thoại khẩn cấp.
Để cho biết cách xử lý cuộc gọi khẩn cấp, hãy sử dụng EmergencyCallRouting
.
Bạn có thể yêu cầu cuộc gọi khẩn cấp bằng cách sử dụng tính năng định tuyến khẩn cấp hoặc định tuyến cuộc gọi thông thường nếu cần. Nếu đây là UNKNOWN
, việc định tuyến sẽ được quyết định dựa trên cách triển khai.
Xác nhận kết quả
Để xác thực quá trình triển khai, hãy chạy các kiểm thử CTS và VTS sau.
Kiểm thử CTS
Kiểm thử VTS
Tài liệu tham khảo
Để biết thêm thông tin về các thông số kỹ thuật và tiêu chuẩn liên quan, hãy xem:
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[],[],null,["# Emergency numbers and emergency calling\n\nEmergency calling is fundamental and critical for devices because they must work\nfor Android users while satisfying various carrier and regulatory requirements\nall over the world. The Android framework provides users with a fast and safe\nemergency calling experience.\n\nAndroid 10 provides improved support for emergency call\nfunctions, maintenance, and updates in the local Android platform by using a\ndetailed emergency number list from the SIM, network, modem, and database.\nAndroid 10 also supports emergency calling based on the type of emergency\nservices such as police, fire, or ambulance. Android 10 provides\nimproved support for multi-SIM\ndevices by sharing emergency numbers from multiple subscriptions in\nthe TelephonyManager API.\n\nIn Android 10 with Radio HAL 1.4, emergency calling is\nimproved by separating emergency calls from normal calls in the HAL interface\nto optimize the emergency calling path and allowing devices to dial the\nappropriate emergency number configured in the Android database.\n\nImplementation\n--------------\n\nTo implement the emergency calling and emergency number functions, implement\nthe following\n[`TelephonyManager`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/telephony/java/android/telephony/TelephonyManager.java)\nand hardware interface APIs.\n\n### TelephonyManager APIs\n\nImplement the following APIs:\n\n- Implement [`getEmergencyNumberList`](https://developer.android.com/reference/android/telephony/TelephonyManager.html#getEmergencyNumberList()) to get valid emergency numbers for emergency calling based on the emergency number source including the locale, SIM cards, default, modem, Android database, and network. For each emergency number, specify the corresponding emergency service category such as police, ambulance, and fire.\n- Implement [`isEmergencyNumber`](https://developer.android.com/reference/android/telephony/TelephonyManager.html#isEmergencyNumber(java.lang.String)) to identify whether a phone number is an emergency number.\n- Implement [`isPotentialEmergencyNumber`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/telephony/java/android/telephony/TelephonyManager.java#10554) to identify a number as an emergency number if it has the same starting digits as any of the emergency numbers.\n\nThe values for emergency number sources are:\n\n- `EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING`: Number is from the network signal\n- `EMERGENCY_NUMBER_SOURCE_SIM`: Number is from the SIM card\n- `EMERGENCY_NUMBER_SOURCE_DATABASE`: Number is from the platform-maintained database\n- `EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG`: Number is from the modem configuration\n- `EMERGENCY_NUMBER_SOURCE_DEFAULT`: Number is available by default. The numbers 112 and 911 must always be available. 000, 08, 110, 999, 118, and 119 must be available when no SIM is present. For more details, see *Section 10: Emergency Calls* in [3GPP TS 22.101](https://www.etsi.org/deliver/etsi_ts/122100_122199/122101/09.01.00_60/ts_122101v090100p.pdf).\n\nThe values for emergency service categories are:\n\n- `UNSPECIFIED`: General emergency call, all categories\n- `POLICE`: Police\n- `AMBULANCE`: Ambulance\n- `FIRE_BRIGADE`: Fire brigade\n- `MARINE_GUARD`: Marine Guard\n- `MOUNTAIN_RESCUE`: Mountain Rescue\n- `MIEC`: Manually Initiated eCall (MIeC)\n- `AIEC`: Automatically Initiated eCall (AIeC)\n\nFor more details, see *Section 10: Emergency Calls* in\n[3GPP TS 22.101](https://www.etsi.org/deliver/etsi_ts/122100_122199/122101/09.01.00_60/ts_122101v090100p.pdf).\n\n### Hardware interface APIs\n\nImplement\n[`emergencyDial`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/IRadio.hal#159)\nin `IRadio.hal`. Implement\n[`emergencyDialResponse`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/IRadioResponse.hal#55)\nin `IRadioResponse.hal` to send a response with response type, serial number,\nand error information.\n\nTo report the current list of emergency numbers, implement\n[`currentEmergencyNumberList`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/IRadioIndication.hal#52)\nin `IRadioIndication.hal`. Implement\n[`EmergencyNumber`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#99)\nin `types.hal`, which contains information about the emergency number including\nthe number address, the mobile country code (MCC), mobile network code (MNC),\n[emergency service category](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#145),\nemergency uniform resource name (URN), and\n[emergency number source](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#170).\n\nTo indicate how an emergency call is handled, use\n[`EmergencyCallRouting`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#194).\nAn emergency call can be requested using emergency routing or normal call\nrouting as required. If this is `UNKNOWN`, routing is decided based on the\nimplementation.\n\nValidation\n----------\n\nTo validate your implementation, run the following CTS and VTS tests.\n\n### CTS tests\n\n- [`testGetEmergencyNumberList`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java#1235)\n- [`testIsEmergencyNumber`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java#1277)\n- [`testIsPotentialEmergencyNumber`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java#1304)\n\n### VTS tests\n\n- [`emergencyDial`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/vts/functional/radio_hidl_hal_api.cpp#24)\n- [`emergencyDial_withServices`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/vts/functional/radio_hidl_hal_api.cpp#49)\n- [`emergencyDial_withEmergencyRouting`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/vts/functional/radio_hidl_hal_api.cpp#75)\n\nReferences\n----------\n\nFor additional information on related technical specifications and standards,\nsee:\n\n- [3GPP TS 22.101](https://www.etsi.org/deliver/etsi_ts/122100_122199/122101/09.01.00_60/ts_122101v090100p.pdf), *Section 10: Emergency Calls*\n- [3GPP TS 24.008](https://www.etsi.org/deliver/etsi_ts/124000_124099/124008/07.15.00_60/ts_124008v071500p.pdf), *Section 9.2.13.4: Emergency Number List*\n- [3GPP TS 23.167](https://www.etsi.org/deliver/etsi_ts/123100_123199/123167/15.04.00_60/ts_123167v150400p.pdf), *Section 6: Functional description*\n- [3GPP TS 24.503](https://www.etsi.org/deliver/etsi_ts/124500_124599/124503/08.22.00_60/ts_124503v082200p.pdf), *Section 5.1.6.8.1: General*\n- [RFC 5031](https://tools.ietf.org/html/rfc5031): *A Uniform\n Resource Name (URN) for Emergency and Other Well-Known Services*"]]