اعتبارًا من 1 كانون الثاني (يناير) 2017، يجب أن تتضمّن جميع الأجهزة الجوّالة المُباعة في الهند buttons زراً للطوارئ من أجل استيفاء متطلبات وزارة الاتصالات الهندية. لتلبية هذه المتطلبات التنظيمية، يتضمّن Android مرجعًا لتطبيق ميزة Emergency Affordance (تسهيل استخدام ميزات الطوارئ) لتفعيل زر الاستغاثة على أجهزة Android.
تكون هذه الميزة مفعّلة تلقائيًا في الإصدار 8.0 من نظام التشغيل Android والإصدارات الأحدث، ولكن يجب تصحيحها في النُسخ الحالية من الإصدارات الأقدم. تستهدف هذه الميزة حصريًا الأجهزة المُباعة في السوق الهندي، ولكن يمكن دمجها في كل الأجهزة المُباعة في جميع أنحاء العالم لأنّ الميزة لا تؤثر خارج الهند.
الأمثلة والمصدر
يتم تنفيذ ميزة "الميزات المتاحة في حالات الطوارئ" في "مشروع مفتوح المصدر لنظام Android" (AOSP) frameworks/base. وتتوفّر هذه الميزة في الفرع الرئيسي ويتم تفعيلها تلقائيًا في الإصدار 8.0 من Android والإصدارات الأحدث.
تتوفّر هذه الميزة في الفروع والعمليات التي تمّ إجراؤها التالية. يتم تقديم هذه المعلومات لتمكين الشركات المصنّعة للأجهزة من تصحيح التغييرات اللازمة بسهولة في الإصدارات الحالية. يمكن لصنّاع الأجهزة الذين يريدون تنفيذ ميزة Emergency Affordance المرجعية في AOSP اختيار عمليات الربط من الفروع السارية إلى إصداراتهم الخاصة.
الجدول 1: اختيارات مميّزة لميزة Emergency Affordance المُشار إليها في AOSP
Branch | عمليات الربط |
---|---|
الرئيسي | e0c3c66
تمّت إضافة ميزة "العناصر المتوفّرة للاستخدام في حالات الطوارئ" 42a4338 تمّت إضافة ترجمات لسلاسل الإجراءات المتعلّقة بالطوارئ 4df8d64 تمّ إصلاح مشكلة ظهور ميزة "العناصر المتوفّرة للاستخدام في حالات الطوارئ" على الأجهزة اللوحية |
nougat-dev | e6680d9
تمّت إضافة ميزة "العناصر المتوفّرة للاستخدام في حالات الطوارئ" 95e1865 تمّت إضافة ترجمات لسلاسل الإجراءات المتعلّقة بالحالات الطارئة a70bb89 تمّ إصلاح مشكلة ظهور ميزة "العناصر المتوفّرة للاستخدام في حالات الطوارئ" على الأجهزة اللوحية |
marshmallow-dev | cd22634
تمّت إضافة ميزة "العناصر المتوفّرة للاستخدام في حالات الطوارئ" 13f51c6 تمّت إضافة ترجمات لسلاسل الإجراءات المتعلّقة بالطوارئ 6531666 تمّ حلّ مشكلة ظهور ميزة "العناصر المتوفّرة للاستخدام في حالات الطوارئ" على الأجهزة اللوحية |
lollipop-mr1-dev | 5fbc86b
تمّت إضافة ميزة Emergency Affordance (الإجراءات الطارئة) 1b60879 تمّت إضافة ترجمات لسلاسل الإجراءات الطارئة d74366f تمّ إصلاح مشكلة كانت تؤدي إلى ظهور ميزة Emergency Affordance (الإجراءات الطارئة) على الأجهزة اللوحية |
التنفيذ
لا تُجري ميزة "تسهيل الاستخدام في حالات الطوارئ" أي تغييرات على واجهات برمجة التطبيقات المعروضة من خلال حزمة تطوير البرامج (SDK) لنظام التشغيل Android. عند تفعيل الميزة، يوفّر التطبيق سببَين يمكن أن يؤديا إلى بدء مكالمة طوارئ على الرقم 112، وهو رقم الطوارئ الوحيد الذي يمكن استخدامه في الهند بموجب اللوائح التنظيمية لهيئة تنمية الاتصالات الهندية (DoT).
يتم بدء مكالمة الطوارئ من خلال:
الضغط مع الاستمرار على زر حالة الطوارئ على شاشة القفل |
النقر على خيار حالة الطوارئ في قائمة الإجراءات العامة |
---|---|
![]() الشكل 1: زر الطوارئ على شاشة القفل |
![]() الشكل 2: إجراء الطوارئ مفعَّل قائمة الإجراءات الشاملة (يتم الوصول إليها من خلال الضغط مع الاستمرار على مفتاح التشغيل) |
تقدّم هذه الميزة المكوّنات الداخلية التالية:
- EmergencyAffordanceManager
frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
- EmergencyAffordanceService
frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
EmergencyAffordanceManager
يوفّر EmergencyAffordanceManager واجهة برمجة تطبيقات داخلية لاستخدام ميزة Emergency Affordance. وتوفّر طرقًا لبدء مكالمة الطوارئ و الاستعلام في وقت التشغيل لمعرفة ما إذا كان يجب تفعيل الميزة.
void performEmergencyCall()
. بدء مكالمة طوارئboolean needsEmergencyAffordance()
: لتحديد ما إذا كان يجب تفعيل الميزة
قد يتم إيقاف الميزة نهائيًا في وقت الإنشاء عن طريق تغيير الثابت
EmergencyAffordanceManager.ENABLED
إلى false
.
يؤدي ذلك إلى عرض القيمة false دائمًا في needsEmergencyAffordance()
ومنع بدء EmergencyAffordanceService
.
EmergencyAffordanceService
EmergencyAffordanceService
هي خدمة نظام تعمل على مراقبة
رمز البلد للشبكة الجوّالة (MCC) لجميع الشبكات الخلوية التي تم رصدها ورمز MCC
لشرائح SIM المثبّتة. إذا كانت أي من شرائح SIM المثبَّتة أو الشبكات الخلوية التي تم رصدها تحتوي على رقم تعريف حساب عميل يتطابق مع أحد أرقام تعريف حسابات العملاء في الهند (404 أو 405)، سيتم تفعيل الميزة. وهذا يعني أنّه يمكن تفعيل الميزة في الهند حتى إذا
لم تكن شريحة SIM متوفّرة. من المفترض أن تسمح شبكة الجوّال
بالتسجيل لإجراء مكالمات الطوارئ حتى بدون تثبيت شريحة SIM. تظل الميزة
مفعَّلة إلى أن يتم تثبيت شريحة SIM غير هندية ولا تتضمّن أي من الشبكات التي تم رصدها رمزًا مطابقًا لرمز MCC.
تؤثر الموارد والإعدادات التالية في سلوك ميزة Emergency Affordance. إذا كان نوع الإعداد هو:
- المورد، وهو مورد داخلي محدّد في
frameworks/base/core/res/res/values/config.xml
. - الإعداد، وهو إعداد مخزّن في مقدّم إعدادات النظام.
الجدول 2: الإعدادات التي تؤثّر في سلوك ميزة "الميزات المتاحة في حالات الطوارئ"
نوع الإعداد | الاسم | الوصف |
---|---|---|
المورد | config_emergency_call_number | رقم الهاتف الذي يتم طلبه تلقائيًا عند بديء مكالمة الطوارئ
النوع: سلسلة القيمة التلقائية: 112 |
المورد | config_emergency_mcc_codes | صفيف من الأعداد الصحيحة يسرد حسابات "مركز عملائي" التي يجب أن تكون الميزة نشطة فيها. النوع: صفيف من الأعداد الصحيحة القيمة التلقائية: {404,405} |
الإعدادات | emergency_affordance_number | إلغاء الإعدادات العامة باستخدام الرقم المطلوب الاتصال به من خلال ميزة
الاستجابة للطوارئ لا يؤثر ذلك إلا في صور الإصدارات القابلة لتصحيح الأخطاء (أي أنّ نوع الإصدار هو userdebug أو eng). هذا الإجراء مخصّص للاختبار فقط. النوع: سلسلة القيمة التلقائية: غير محدّد |
الإعدادات | force_emergency_affordance | إعداد عام يحدِّد ما إذا كان يجب عرض ميزة "الميزات المتاحة في حالات الطوارئ" بغض النظر عن حالة الجهاز
هذا الإجراء مخصّص للاختبار فقط. النوع: منطقي (1 أو 0) القيمة التلقائية: غير محدّد --> 0 |
تفعيل مكالمات الطوارئ على الرقم 112
تربط ميزة "تسهيل إجراء مكالمات الطوارئ" المكالمة باستخدام keypad للطوارئ حتى يمكن إجراء المكالمة عندما تكون شاشة القفل نشطة. لا يربط تطبيق الاتصال في حالات الطوارئ المكالمات إلا بقائمة الأرقام التي تقدّمها Radio Interface Layer (RIL) من خلال سمة النظام:
ril.ecclist
عندما لا تكون شريحة SIM مثبّتةril.ecclistSimSlotNumber
عند إدخال شريحة SIM وSimSlotNumber
هو رقم تعريف خانة حامل البطاقة التلقائي.
على مصنعي الأجهزة الذين يستخدمون ميزة Emergency Affordance (تسهيل الاتصال في حالات الطوارئ) التأكّد من أنّه يتم دائمًا تفعيل الرقم 112 كرقم طوارئ في قاعدة بيانات RIL على الأجهزة في الهند.
التحقُّق
أثناء الاختبار على إصدار قابل لتصحيح الأخطاء، يمكن تغيير الرقم الذي يتم الاتصال به باستخدام الأمر التالي:
adb shell settings put global emergency_affordance_number NUMBER_TO_CALL
على الرغم من أنّه يمكن ضبط هذا الإعداد في إصدار المستخدم العادي، يتم تجاهله. ولتتم ربط المكالمة، يجب أن يكون الرقم مُدرَجًا في قائمة أرقام الطوارئ التي يوفّرها RIL. يمكن ضبط هذا الإعداد مؤقتًا باستخدام العبارة التالية التي يتم تنفيذها من واجهة أوامر root على جهاز userdebug:
setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"
يمكن أيضًا استخدام الأمر التالي لإجبار تفعيل ميزة Emergency Affordance حتى في حال عدم رصد شبكة جوّال هندية أو عدم إدخال شريحة SIM هندية.
adb shell settings put global force_emergency_affordance 1
على الأقل، ننصحك باختبار الحالات التالية:
- عند تفعيل هذه الميزة، يؤدي الضغط مع الاستمرار على الزر EMERGENCY (طوارئ) على شاشة القفل (الشكل 1) إلى بدء مكالمة برقم الطوارئ المحدَّد.
- عند تفعيل هذا الخيار، يظهر العنصر طوارئ في قائمة الإجراءات العامة، وعند النقر عليه، يبدأ الاتصال برقم اتّصال الطوارئ المحدّد.
- لا يتم تفعيل الميزة في حال عدم رصد شبكة جوّال هندية مع تثبيت شريحة SIM غير هندية.
- يتم تفعيل الميزة على الجهاز عند تثبيت بطاقة SIM الهندية، بغض النظر عن شبكات الجوّال التي يتم رصدها.
- يتم تفعيل الميزة على الجهاز في حال توفّر شبكة جوّال هندية، بغض النظر عن شرائح SIM المثبّتة.
إذا كان الجهاز يتضمّن عدة شرائح SIM، يجب أن يضمن الاختبار عمل ميزة رصد رقم تعريف شبكة الجوّال (MCC) لشريحة SIM بشكل صحيح في كل فتحة شريحة SIM. لا تخضع ميزة Emergency Affordance لمتطلبات التوافق مع Android، لذا لا تتوفّر لها اختبارات مجموعة أدوات اختبار التوافق (CTS).
الأسئلة الشائعة
س: لم يتم تفعيل رقم الطوارئ 112 بعد في الهند. هل لا يزال من المفيد استخدامه؟
يُستخدَم الرقم 112 في الهند كنقطة الردّ الخاصة بالسلامة العامة (PSAP) على النحو المحدّد في أنظمة الاستجابة والاتصال المتكاملَين في حالات الطوارئ (IECRS). إلى أن يتم تفعيل مركز عمليات الطوارئ، يتم توجيه جميع المكالمات إلى الرقم 112 إلى رقم الطوارئ الحالي 100 (على الرغم من أنّ هذه المسؤولية تقع على عاتق مزوّد الخدمة، وليس Android).
س: ماذا عن عوامل التفعيل الأخرى، مثل الضغط ثلاث مرّات على زر التشغيل؟
يمكن لشركات تصنيع الأجهزة تنفيذ عوامل تشغيل إضافية. ومع ذلك، على الرغم من أنّ وزارة الاتصالات الهندية توافق على النقر ثلاث مرّات على زر التشغيل في الجهاز، فإنّ هذا العامل المشغِّل غير متاح في التنفيذ المرجعي لنظام التشغيل AOSP لأنّ بعض التطبيقات المستخدَمة على نطاق واسع (مثل تطبيق "الكاميرا") تستخدم إيماءات زر التشغيل التي تتضمّن النقر المتكرّر على زر التشغيل. وقد تؤدي هذه التطبيقات إلى التدخل في تطبيق الاتصال بالطوارئ أو قد يضغط المستخدم عن طريق الخطأ على زر الذعر أثناء محاولة تنفيذ إجراءات في هذه التطبيقات.