اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
أرقام الطوارئ والاتصال بخدمات الطوارئ
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إنّ ميزة الاتصال في حالات الطوارئ أساسية وضرورية للأجهزة، لأنّها يجب أن تعمل
لمستخدمي Android مع استيفاء المتطلبات التنظيمية المختلفة ومتطلّبات مشغّلي شبكات الجوّال في جميع أنحاء العالم. يقدّم إطار عمل Android للمستخدمين تجربة اتصال سريعة وآمنة بالطوارئ.
يقدّم نظام Android 10 دعمًا محسّنًا لوظائف مكالمات الطوارئ
وعمليات الصيانة والتحديثات في نظام Android الأساسي على الجهاز باستخدام
قائمة تفصيلية بأرقام الطوارئ من بطاقة SIM والشبكة والمودم وقاعدة البيانات.
يتيح نظام التشغيل Android 10 أيضًا الاتصال بخدمات الطوارئ استنادًا إلى نوع خدمات
الطوارئ، مثل الشرطة أو خدمات الإطفاء أو الإسعاف. يقدّم نظام Android 10 ميزات مدعومة بشكلٍ أفضل لأجهزة SIM المتعددة من خلال مشاركة أرقام الطوارئ من اشتراكات متعددة في واجهة برمجة التطبيقات TelephonyManager API.
في الإصدار Android 10 مع حزمة Radio HAL 1.4، تم تحسين مكالمات الطوارئ
من خلال فصل مكالمات الطوارئ عن المكالمات العادية في واجهة HAL
لتحسين مسار مكالمات الطوارئ والسماح للأجهزة بطلب
رقم الطوارئ المناسب الذي تم ضبطه في قاعدة بيانات Android.
التنفيذ
لتنفيذ وظائف الاتصال في حالات الطوارئ وأرقام الطوارئ، عليك تنفيذ واجهتَي برمجة التطبيقات التالية
TelephonyManager
وواجهة برمجة تطبيقات واجهة الأجهزة.
واجهات برمجة تطبيقات TelephonyManager
نفِّذ واجهات برمجة التطبيقات التالية:
- نفِّذ
getEmergencyNumberList
للحصول على أرقام طوارئ صالحة للاتصال في حالات الطوارئ استنادًا إلى مصدر أرقام الطوارئ، بما في ذلك اللغة وشرائح SIM والإعداد التلقائي والمودم وقاعدة بيانات Android
والشبكة. لكل رقم مكالمات طوارئ، حدِّد فئة خدمة الطوارئ المقابلة، مثل
الشرطة والإسعاف والإطفاء.
- نفِّذ
isEmergencyNumber
لتحديد ما إذا كان رقم الهاتف هو رقم طوارئ.
- نفِّذ رمز برمجيًا هو
isPotentialEmergencyNumber
لتحديد رقم على أنّه رقم طوارئ إذا كان يحتوي على أرقام البدء نفسها التي تحتوي عليها أي من أرقام الطوارئ.
قيم مصادر أرقام الطوارئ هي:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: الرقم من إشارة
الشبكة
EMERGENCY_NUMBER_SOURCE_SIM
: الرقم من شريحة SIM
EMERGENCY_NUMBER_SOURCE_DATABASE
: يتم الحصول على الرقم من قاعدة بيانات تديرها المنصة.
EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: الرقم من إعدادات المودم
EMERGENCY_NUMBER_SOURCE_DEFAULT
: يكون الرقم متاحًا تلقائيًا. يجب أن يكون الرقمان 112 و911 متاحَين دائمًا. يجب أن تكون الأرقام 000 و08 و110 و999 و118
و119 متاحة عندما لا تكون شريحة SIM متوفّرة. لمزيد من التفاصيل، يُرجى الاطّلاع على
القسم 10: مكالمات الطوارئ في
3GPP TS 22.101.
قيم فئات خدمات الطوارئ هي:
UNSPECIFIED
: مكالمة طوارئ عامة، جميع الفئات
POLICE
: الشرطة
AMBULANCE
: سيارة إسعاف
FIRE_BRIGADE
: فرقة الإطفاء
MARINE_GUARD
: حارس بحري
MOUNTAIN_RESCUE
: الإنقاذ في الجبال
MIEC
: مكالمة الطوارئ التي يتم بدؤها يدويًا (MIeC)
AIEC
: نظام eCall الذي يتم تشغيله تلقائيًا (AIeC)
لمزيد من التفاصيل، يُرجى الاطّلاع على القسم 10: مكالمات الطوارئ في
3GPP TS 22.101.
واجهات برمجة التطبيقات لواجهة الأجهزة
نفِّذ
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 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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*"]]