ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
หมายเลขฉุกเฉินและการโทรฉุกเฉิน
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
การโทรฉุกเฉินเป็นพื้นฐานและสำคัญอย่างยิ่งสำหรับอุปกรณ์ เนื่องจากต้องใช้งานได้สำหรับผู้ใช้ Android ในขณะเดียวกันก็ต้องเป็นไปตามข้อกำหนดด้านกฎระเบียบและข้อกำหนดของผู้ให้บริการต่างๆ ทั่วโลก เฟรมเวิร์ก Android มอบประสบการณ์การโทรฉุกเฉินที่รวดเร็วและปลอดภัยให้แก่ผู้ใช้
Android 10 รองรับฟังก์ชันการโทรฉุกเฉิน การดูแลรักษา และการอัปเดตในแพลตฟอร์ม Android ในพื้นที่ได้ดียิ่งขึ้นโดยใช้รายการหมายเลขฉุกเฉินแบบละเอียดจากซิม เครือข่าย โมเด็ม และฐานข้อมูล
นอกจากนี้ Android 10 ยังรองรับการโทรฉุกเฉินตามประเภทบริการช่วยเหลือฉุกเฉิน เช่น ตำรวจ ดับเพลิง หรือรถพยาบาล Android 10 รองรับอุปกรณ์แบบหลายซิมได้ดียิ่งขึ้นด้วยการแชร์หมายเลขฉุกเฉินจากการสมัครใช้บริการหลายรายการใน TelephonyManager API
ใน Android 10 ที่มี Radio HAL 1.4 การโทรฉุกเฉินได้รับการปรับปรุงโดยการแยกการโทรฉุกเฉินออกจากการโทรปกติในอินเทอร์เฟซ HAL เพื่อเพิ่มประสิทธิภาพเส้นทางการโทรฉุกเฉินและอนุญาตให้อุปกรณ์โทรหาหมายเลขฉุกเฉินที่เหมาะสมซึ่งกำหนดค่าไว้ในฐานข้อมูล Android
การใช้งาน
หากต้องการใช้ฟังก์ชันการโทรฉุกเฉินและหมายเลขฉุกเฉิน ให้ใช้ TelephonyManager
และ API อินเทอร์เฟซฮาร์ดแวร์ต่อไปนี้
TelephonyManager API
ติดตั้งใช้งาน API ต่อไปนี้
- ใช้
getEmergencyNumberList
เพื่อรับหมายเลขฉุกเฉินที่ถูกต้องสำหรับการโทรฉุกเฉินโดยอิงตามแหล่งที่มาของหมายเลขฉุกเฉิน ซึ่งรวมถึงภาษา ซิมการ์ด ค่าเริ่มต้น โมเด็ม ฐานข้อมูล Android และเครือข่าย สำหรับหมายเลขฉุกเฉินแต่ละหมายเลข ให้ระบุหมวดหมู่บริการช่วยเหลือฉุกเฉินที่เกี่ยวข้อง เช่น ตำรวจ รถพยาบาล และดับเพลิง
- ใช้
isEmergencyNumber
เพื่อระบุว่าหมายเลขโทรศัพท์เป็นหมายเลขฉุกเฉินหรือไม่
- ใช้
isPotentialEmergencyNumber
เพื่อระบุว่าหมายเลขเป็นหมายเลขฉุกเฉินหากมีตัวเลขเริ่มต้นเหมือนกับหมายเลขฉุกเฉิน
ค่าสำหรับแหล่งที่มาของหมายเลขฉุกเฉินมีดังนี้
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: หมายเลขมาจากสัญญาณเครือข่าย
EMERGENCY_NUMBER_SOURCE_SIM
: หมายเลขมาจากซิมการ์ด
EMERGENCY_NUMBER_SOURCE_DATABASE
: ตัวเลขมาจากฐานข้อมูลที่แพลตฟอร์มดูแลรักษา
EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: หมายเลขนี้มาจากการกำหนดค่าโมเด็ม
EMERGENCY_NUMBER_SOURCE_DEFAULT
: หมายเลขพร้อมใช้งานโดยค่าเริ่มต้น หมายเลข 112 และ 911 ต้องใช้งานได้เสมอ หมายเลข 000, 08, 110, 999, 118 และ 119 ต้องใช้งานได้เมื่อไม่มีซิม โปรดดูรายละเอียดเพิ่มเติมที่ส่วนที่ 10: การโทรฉุกเฉินใน 3GPP TS 22.101
ค่าสำหรับหมวดหมู่บริการช่วยเหลือฉุกเฉินมีดังนี้
UNSPECIFIED
: การโทรฉุกเฉินทั่วไป ทุกหมวดหมู่
POLICE
: ตำรวจ
AMBULANCE
: รถพยาบาล
FIRE_BRIGADE
: หน่วยดับเพลิง
MARINE_GUARD
: Marine Guard
MOUNTAIN_RESCUE
: การกู้ภัยบนภูเขา
MIEC
: การโทรแจ้งเหตุฉุกเฉินด้วยตนเอง (MIeC)
AIEC
: การโทรแจ้งเหตุฉุกเฉินที่เริ่มขึ้นโดยอัตโนมัติ (AIeC)
โปรดดูรายละเอียดเพิ่มเติมที่ส่วนที่ 10: การโทรฉุกเฉินใน 3GPP TS 22.101
API อินเทอร์เฟซฮาร์ดแวร์
ติดตั้งใช้งาน emergencyDial
ใน IRadio.hal
ใช้
emergencyDialResponse
ใน IRadioResponse.hal
เพื่อส่งการตอบกลับพร้อมประเภทการตอบกลับ หมายเลขซีเรียล และข้อมูลข้อผิดพลาด
หากต้องการรายงานหมายเลขฉุกเฉินปัจจุบัน ให้ใช้ currentEmergencyNumberList
ใน IRadioIndication.hal
ติดตั้งใช้งาน EmergencyNumber
ใน types.hal
ซึ่งมีข้อมูลเกี่ยวกับหมายเลขฉุกเฉิน รวมถึงที่อยู่หมายเลข รหัสประเทศของเครือข่ายมือถือ (MCC) รหัสเครือข่ายมือถือ (MNC) หมวดหมู่บริการฉุกเฉิน ชื่อแหล่งข้อมูลแบบรวม (URN) สำหรับหมายเลขฉุกเฉิน และแหล่งที่มาของหมายเลขฉุกเฉิน
หากต้องการระบุวิธีจัดการการโทรฉุกเฉิน ให้ใช้ EmergencyCallRouting
คุณสามารถขอการโทรฉุกเฉินได้โดยใช้การกำหนดเส้นทางการโทรฉุกเฉินหรือการโทรตามปกติตามต้องการ หากเป็น UNKNOWN
ระบบจะกำหนดการกำหนดเส้นทางตามการติดตั้งใช้งาน
การตรวจสอบความถูกต้อง
เรียกใช้การทดสอบ CTS และ VTS ต่อไปนี้เพื่อตรวจสอบการติดตั้งใช้งาน
การทดสอบ CTS
การทดสอบ VTS
ข้อมูลอ้างอิง
ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดทางเทคนิคและมาตรฐานที่เกี่ยวข้องได้ที่
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 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*"]]