आपातकालीन सामर्थ्य को लागू करना

1 जनवरी, 2017 से भारत में बेचे जाने वाले सभी मोबाइल उपकरणों में भारतीय दूरसंचार विभाग (DoT) की आवश्यकताओं को पूरा करने के लिए एक पैनिक बटन प्रदान करना होगा। इन विनियामक आवश्यकताओं को संबोधित करने के लिए, एंड्रॉइड में एंड्रॉइड डिवाइस पर पैनिक बटन को सक्षम करने के लिए आपातकालीन अफोर्डेंस सुविधा का एक संदर्भ कार्यान्वयन शामिल है।

यह सुविधा एंड्रॉइड 8.0 और उच्चतर रिलीज़ में डिफ़ॉल्ट रूप से सक्षम है, लेकिन इसे पहले रिलीज़ के मौजूदा बिल्ड में पैच किया जाना चाहिए। वर्तमान में, यह सुविधा विशेष रूप से भारतीय बाजार में बेचे जाने वाले उपकरणों पर लक्षित है, लेकिन इसे दुनिया भर में बेचे जाने वाले सभी उपकरणों पर शामिल किया जा सकता है क्योंकि इस सुविधा का भारत के बाहर कोई प्रभाव नहीं है।

उदाहरण और स्रोत

आपातकालीन अफोर्डेंस सुविधा एंड्रॉइड ओपन सोर्स प्रोजेक्ट (एओएसपी) फ्रेमवर्क/बेस प्रोजेक्ट में लागू की गई है। यह मुख्य शाखा में उपलब्ध है और एंड्रॉइड 8.0 और उच्चतर रिलीज़ में डिफ़ॉल्ट रूप से सक्षम है।

यह सुविधा वर्तमान में निम्नलिखित शाखाओं और कमिटों में उपलब्ध है। यह जानकारी डिवाइस निर्माताओं को अपने मौजूदा बिल्ड में आवश्यक परिवर्तनों को आसानी से पैच करने में सक्षम बनाने के लिए प्रदान की गई है। एओएसपी संदर्भ आपातकालीन व्यय सुविधा को लागू करने के इच्छुक डिवाइस निर्माता लागू शाखाओं से कमिट को अपने स्वयं के बिल्ड में चुन सकते हैं।

तालिका 1. एओएसपी संदर्भ आपातकालीन व्यय सुविधा के लिए चेरी-पिक्स

शाखा करता है
मुख्य e0c3c66 आपातकालीन व्यय सुविधा जोड़ी गई
42a4338 आपातकालीन कार्रवाई स्ट्रिंग के लिए अनुवाद जोड़े गए
4df8d64 उस समस्या को ठीक किया गया जहां आपातकालीन व्यय टैबलेट पर दिखाई देगा
नौगाट-देव e6680d9 आपातकालीन व्यय सुविधा जोड़ी गई
95e1865 आपातकालीन कार्रवाई स्ट्रिंग के लिए अनुवाद जोड़े गए
a70bb89 उस समस्या को ठीक कर दिया गया जहां आपातकालीन व्यय टैबलेट पर दिखाई देगा
मार्शमैलो-देव cd22634 आपातकालीन व्यय सुविधा जोड़ी गई
13f51c6 आपातकालीन कार्रवाई स्ट्रिंग के लिए अनुवाद जोड़े गए
6531666 उस समस्या को ठीक किया गया जहां आपातकालीन व्यय टैबलेट पर दिखाई देगा
लॉलीपॉप-एमआर1-देव 5fbc86b आपातकालीन व्यय सुविधा जोड़ी गई
1b60879 आपातकालीन कार्रवाई स्ट्रिंग के लिए अनुवाद जोड़े गए
d74366f उस समस्या को ठीक किया गया जहां आपातकालीन व्यय टैबलेट पर दिखाई देगा

कार्यान्वयन

इमरजेंसी अफोर्डेंस सुविधा एंड्रॉइड सॉफ्टवेयर डेवलपमेंट किट (एसडीके) के माध्यम से उजागर एपीआई में कोई बदलाव नहीं करती है। सक्षम और सक्रिय होने पर, सुविधा दो ट्रिगर प्रदान करती है जो 112 पर आपातकालीन कॉल शुरू कर सकती है, जो भारत में उपयोग किया जाने वाला एकल आपातकालीन नंबर है और भारतीय DoT नियमों द्वारा अनिवार्य है।

एक आपातकालीन कॉल या तो शुरू की जाती है:

आपातकालीन बटन को देर तक दबाना
लॉकस्क्रीन पर
आपातकालीन विकल्प पर टैप करें
ग्लोबल एक्शन मेनू में
आपातकालीन बटन
चित्र 1. लॉकस्क्रीन पर आपातकालीन बटन।
आपातकालीन विकल्प
चित्र 2. ग्लोबल एक्शन मेनू पर आपातकालीन कार्रवाई (पावर कुंजी को लंबे समय तक दबाने से पहुंचा जा सकता है)।

यह सुविधा निम्नलिखित आंतरिक घटकों का परिचय देती है:

  • इमरजेंसीअफोर्डेंसमैनेजर
    frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
    
  • आपातकालीन अफोर्डेंस सेवा
    frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
    

आपातकालीन व्यय प्रबंधक

इमरजेंसीअफोर्डेंसमैनेजर इमरजेंसी अफोर्डेंस सुविधा का उपयोग करने के लिए एक आंतरिक एपीआई प्रदान करता है। यदि सुविधा सक्षम होनी चाहिए तो यह आपातकालीन कॉल शुरू करने और रनटाइम पर क्वेरी करने के तरीके प्रदान करता है।

  • void performEmergencyCall() । एक आपातकालीन कॉल आरंभ करता है.
  • boolean needsEmergencyAffordance() । निर्धारित करता है कि सुविधा सक्रिय होनी चाहिए या नहीं।

इस सुविधा को निर्माण के समय EmergencyAffordanceManager.ENABLED स्थिरांक को false में बदलकर स्थायी रूप से अक्षम किया जा सकता है। इसके कारण needsEmergencyAffordance() हमेशा गलत रिटर्न देगा और EmergencyAffordanceService प्रारंभ होने से रोक देगा।

आपातकालीन अफोर्डेंस सेवा

EmergencyAffordanceService एक सिस्टम सेवा है जो सभी ज्ञात सेल्युलर नेटवर्क के मोबाइल कंट्री कोड (एमसीसी) और स्थापित सिम कार्ड के एमसीसी की निगरानी करती है। यदि स्थापित सिम कार्ड या पाए गए सेल्यूलर नेटवर्क में से किसी का एमसीसी भारत के एमसीसी (404 या 405) में से किसी एक से मेल खाता है तो सुविधा सक्षम हो जाएगी। इसका मतलब है कि भारत में कोई सिम कार्ड मौजूद न होने पर भी यह सुविधा सक्षम की जा सकती है। यह माना जाता है कि मोबाइल नेटवर्क सिम कार्ड स्थापित किए बिना भी आपातकालीन कॉल के लिए पंजीकरण की अनुमति देगा। यह सुविधा तब तक सक्षम रहेगी जब तक कि कोई गैर-भारत सिम स्थापित न हो जाए और किसी भी पहचाने गए नेटवर्क के पास मेल खाने वाला एमसीसी न हो।

निम्नलिखित संसाधन और सेटिंग्स आपातकालीन व्यय सुविधा के व्यवहार को प्रभावित करते हैं। यदि कॉन्फ़िगरेशन प्रकार है:

  • संसाधन , यह एक आंतरिक संसाधन है जिसे frameworks/base/core/res/res/values/config.xml में परिभाषित किया गया है।
  • सेटिंग , यह सिस्टम सेटिंग्स प्रदाता में संग्रहीत एक सेटिंग है।

तालिका 2. आपातकालीन व्यय सुविधा के व्यवहार को प्रभावित करने वाली सेटिंग्स

कॉन्फ़िग प्रकार नाम विवरण
संसाधन config_emergency_call_number वह फ़ोन नंबर जो आपातकालीन कॉल शुरू होने पर स्वचालित रूप से डायल किया जाता है।
प्रकार: स्ट्रिंग
डिफ़ॉल्ट: 112
संसाधन config_emergency_mcc_codes एमसीसी को सूचीबद्ध करने वाले पूर्णांकों की एक सरणी जिसमें सुविधा सक्रिय होनी चाहिए।
प्रकार: पूर्णांकों की सारणी
डिफ़ॉल्ट: {404,405}
सेटिंग आपातकालीन_अफोर्डेंस_नंबर वैश्विक सेटिंग आपातकालीन व्यय के साथ कॉल करने के लिए नंबर के साथ ओवरराइड करती है। इसका केवल डिबग करने योग्य बिल्ड छवियों पर प्रभाव पड़ेगा (यानी बिल्ड प्रकार यूजरडेबग या इंग्लैंड है)। यह केवल परीक्षण के लिए है.
प्रकार: स्ट्रिंग
डिफ़ॉल्ट: अनसेट
सेटिंग बल_आपातकालीन_अफोर्डेंस वैश्विक सेटिंग, क्या आपातकालीन खर्च को डिवाइस की स्थिति की परवाह किए बिना दिखाया जाना चाहिए। यह केवल परीक्षण के लिए है.
प्रकार: बूलियन (1 या 0)
डिफ़ॉल्ट: अनसेट --> 0

112 पर आपातकालीन कॉल सक्षम करें

आपातकालीन व्यय सुविधा आपातकालीन डायलर का उपयोग करके कॉल को कनेक्ट करती है ताकि लॉक स्क्रीन सक्रिय होने पर कॉल कनेक्ट की जा सके। आपातकालीन डायलर कॉल को केवल सिस्टम प्रॉपर्टी के माध्यम से रेडियो इंटरफ़ेस लेयर (आरआईएल) द्वारा प्रदान किए गए नंबरों की सूची से जोड़ता है:

  • जब कोई सिम इंस्टॉल न हो तो ril.ecclist
  • जब कोई सिम डाला जाता है तो ril.ecclist SimSlotNumber और SimSlotNumber डिफ़ॉल्ट ग्राहक की स्लॉट आईडी होती है।

आपातकालीन व्यय सुविधा का उपयोग करने वाले डिवाइस निर्माताओं को यह सुनिश्चित करना होगा कि भारत में डिवाइस हमेशा आरआईएल में आपातकालीन नंबर के रूप में 112 को सक्षम करें।

मान्यकरण

डिबग करने योग्य बिल्ड पर परीक्षण करते समय, कॉल की जाने वाली संख्या को निम्नलिखित कमांड से बदला जा सकता है:

adb shell settings put global emergency_affordance_number NUMBER_TO_CALL

हालाँकि यह सेटिंग सामान्य उपयोगकर्ता बिल्ड पर सेट की जा सकती है, लेकिन इसे अनदेखा कर दिया जाएगा। वास्तव में कॉल कनेक्ट करने के लिए नंबर आरआईएल द्वारा उपलब्ध कराए गए आपातकालीन नंबरों की सूची में होना चाहिए। इसे यूजरडीबग डिवाइस पर रूट शेल से निष्पादित निम्नलिखित कमांड का उपयोग करके अस्थायी रूप से सेट किया जा सकता है:

setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"

भारतीय मोबाइल नेटवर्क का पता न चलने या भारतीय सिम कार्ड डाले जाने की अनुपस्थिति में भी आपातकालीन अफोर्डेंस सुविधा को सक्षम करने के लिए निम्नलिखित कमांड का उपयोग किया जा सकता है।

adb shell settings put global force_emergency_affordance 1

कम से कम, निम्नलिखित मामलों का परीक्षण करने की अनुशंसा की जाती है:

  • एक बार सक्रिय होने पर, लॉकस्क्रीन पर आपातकालीन बटन को लंबे समय तक दबाने पर (चित्र 1) निर्दिष्ट आपातकालीन नंबर पर कॉल शुरू हो जाती है।
  • एक बार सक्रिय होने पर, ग्लोबल एक्शन मेनू पर आपातकालीन आइटम मौजूद होता है और इसे टैप करने से निर्दिष्ट आपातकालीन नंबर पर कॉल शुरू हो जाती है।
  • गैर-भारत सिम कार्ड स्थापित होने पर भारतीय मोबाइल नेटवर्क का पता न चलने पर यह सुविधा सक्रिय नहीं होती है
  • भारतीय सिम कार्ड इंस्टॉल होने पर यह सुविधा डिवाइस पर सक्रिय हो जाती है , भले ही पता लगाए गए मोबाइल नेटवर्क कुछ भी हों।
  • यह सुविधा भारतीय मोबाइल नेटवर्क की उपस्थिति में डिवाइस पर सक्रिय होती है , भले ही सिम कार्ड स्थापित हो।

यदि किसी डिवाइस में एकाधिक सिम कार्ड का समर्थन शामिल है, तो परीक्षण से यह सुनिश्चित होना चाहिए कि सिम एमसीसी डिटेक्शन प्रत्येक सिम स्लॉट में सही ढंग से काम करता है। आपातकालीन सामर्थ्य सुविधा एंड्रॉइड संगतता द्वारा नियंत्रित नहीं है, इसलिए इसके लिए कोई संगतता परीक्षण सूट (सीटीएस) परीक्षण नहीं हैं।

अक्सर पूछे जाने वाले प्रश्नों

Q. भारत में आपातकालीन नंबर 112 अभी तक चालू नहीं हुआ है. क्या इसका अभी भी उपयोग किया जाना चाहिए?

112 वह नंबर है जिसका उपयोग भारत में इंटीग्रेटेड इमरजेंसी कम्युनिकेशंस एंड रिस्पांस सिस्टम्स (IECRS) द्वारा परिभाषित पब्लिक सेफ्टी आंसरिंग पॉइंट (PSAP) के रूप में किया जाएगा। जब तक पीएसएपी चालू नहीं हो जाता, 112 पर आने वाली सभी कॉलें मौजूदा 100 आपातकालीन नंबर पर भेज दी जाएंगी (हालांकि यह वाहक की जिम्मेदारी है, एंड्रॉइड की नहीं)।

प्र. पावर बटन को तीन बार दबाने जैसे अन्य ट्रिगर्स के बारे में क्या?

डिवाइस निर्माता अतिरिक्त ट्रिगर लागू करना चुन सकते हैं। हालाँकि, जबकि भारतीय DoT हार्डवेयर पावर बटन को ट्रिपल-टैपिंग को मंजूरी देता है, यह ट्रिगर AOSP संदर्भ कार्यान्वयन में समर्थित नहीं है क्योंकि कुछ व्यापक रूप से उपयोग किए जाने वाले एप्लिकेशन (जैसे कैमरा ऐप) पावर बटन जेस्चर का उपयोग करते हैं जिसमें पावर बटन को बार-बार टैप करना शामिल है। ऐसे एप्लिकेशन आपातकालीन डायलर में हस्तक्षेप कर सकते हैं या उपयोगकर्ता इन एप्लिकेशन में कार्रवाई शुरू करने का प्रयास करते समय गलती से पैनिक बटन ट्रिगर कर सकता है।