डोमेन चुनने की सेवा

Android 15 या इसके बाद के वर्शन वाले डिवाइसों के लिए, ये काम किए जा सकते हैं डोमेन चुनना लागू करें के बीच आईएमएस सेवा और लेगसी सेवाओं के बीच सर्किट स्विच किए गए नेटवर्क का इस्तेमाल किया DomainSelectionService सिस्टम एपीआई. DomainSelectionService अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह Android प्लैटफ़ॉर्म और वेंडर के बीच का एक बेहतर इंटरफ़ेस है डोमेन चुनने का विकल्प लागू करना. इस इंटरफ़ेस की मदद से, वेंडर सिग्नलिंग से जुड़ी जानकारी देता हो, जैसे कि वह डोमेन जिससे कॉल और मैसेज (एसएमएस) किए जाते हैं नेटवर्क स्कैनिंग में प्लैटफ़ॉर्म पर मौजूद और नेटवर्क टाइप की प्राथमिकता तय की जाती है.

डोमेन-चुनने-संरचना

पहला डायग्राम. डोमेन चुनने की सुविधा के लिए आर्किटेक्चर का डायग्राम

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

Android यहां दी गई डोमेन में चुनने की सुविधा के लिए, रेफ़रंस लागू करने की सुविधा देता है TelephonyDomainSelectionService का एओएसपी. ज़्यादा जानकारी के लिए DomainSelectionService API के लिए दस्तावेज़, देखें DomainSelectionService और एपीआई की अन्य क्लास.

लागू करना

किसी Android डिवाइस पर डोमेन चुनने की सुविधा लागू करने के लिए, ये काम करें चरण ज़रूरी हैं:

  1. डोमेन चुनने के लिए ऐप्लिकेशन बनाएं. सेवा AndroidManifest.xml फ़ाइल.

  2. प्लैटफ़ॉर्म को डिवाइस ओवरले में एक कॉन्फ़िगरेशन जोड़ें, ताकि वह DomainSelectionService लागू करना.

  3. डोमेन चुनने की सुविधा के लिए, ज़रूरी रेडियो HAL इंटरफ़ेस इस्तेमाल करें.

इस सेक्शन में, इन चरणों के बारे में ज़्यादा जानकारी दी गई है.

AndroidManifest.xml में सेवा एंट्री जोड़ें

आपके डोमेन चुनने के लिए इस्तेमाल होने वाले ऐप्लिकेशन के लिए, ताकि DomainSelectionService सेवा को रजिस्टर किया जा सके को एक्सपोर्ट करने के लिए, नीचे दी गई चीज़ों का इस्तेमाल करके मेनिफ़ेस्ट फ़ाइल में सेवा एंट्री जोड़ें प्रारूप:

<service
     android:name="com.example.domainselection.DomainSelectionService"
     android:directBootAware="true"
     android:persistent="true"
     …
     android:permission="android.permission.BIND_DOMAIN_SELECTION_SERVICE"
     …
    <intent-filter>
        <action android:name="android.telephony.DomainSelectionService"/>
    </intent-filter>
    …
</service>

AndroidManifest.xml में दी गई सेवा की परिभाषा में ये बातें बताई जानी चाहिए सुविधा का इस्तेमाल करने के लिए, एट्रिब्यूट की वैल्यू सबमिट करते हैं.

  • directBootAware="true": इससे, सेवा को खोजने और चलाने की सुविधा मिलती है फ़ोन अनलॉक करने से पहले, कॉल करने की सुविधा. सेवा को ऐक्सेस नहीं किया जा सकता डिवाइस की एन्क्रिप्ट की गई मेमोरी में सेव किया जाएगा. ज़्यादा के लिए जानकारी, डायरेक्ट बूट मोड में मदद पाना और फ़ाइल पर आधारित एन्क्रिप्ट (सुरक्षित) करने का तरीका देखें.

  • persistent="true": इस सुविधा का इस्तेमाल करने पर, सेवा लगातार चलती रहती है उन्हें मेमोरी वापस पाने के लिए सिस्टम ने मार दिया हो. यह एट्रिब्यूट सिर्फ़ तब काम करता है, जब ऐप्लिकेशन को सिस्टम ऐप्लिकेशन के तौर पर बनाया गया है.

  • permission="android.permission.BIND_DOMAIN_SELECTION_SERVICE": पक्का करता है सिर्फ़ ऐसी प्रोसेस जिसमें BIND_DOMAIN_SELECTION_SERVICE की अनुमति हो उसे ऐप्लिकेशन से बाइंड कर सकते हैं. यह नुकसान पहुंचाने वाले ऐप्लिकेशन को क्योंकि केवल सिस्टम ऐप्लिकेशन को फ़्रेमवर्क शामिल है.

सेवा कोintent-filter android.telephony.DomainSelectionService कार्रवाई. इसकी मदद से, फ़्रेमवर्क DomainSelectionService सेवा.

डिवाइस ओवरले में कॉन्फ़िगरेशन परिभाषित करें

प्लैटफ़ॉर्म को DomainSelectionService सेवा से सुरक्षित रूप से जोड़ने के लिए, जोड़ें डिवाइस ओवरले के लिए नीचे दिया गया कॉन्फ़िगरेशन:

क्योंकि Android ऐसे ऐप्लिकेशन पर काम नहीं करता जिनमें तीसरे पक्ष की मदद से डाउनलोड किया जा सकने वाला ऐप्लिकेशन काम करता है DomainSelectionService लागू करने पर, डोमेन चुनने के लिए इस्तेमाल होने वाला ऐप्लिकेशन सिस्टम ऐप्लिकेशन जो /system_ext/priv-app/ या /product/priv-app/ में मौजूद होता है फ़ोल्डर खोलें. फ़्रेमवर्क इस बात की पुष्टि करता है कि लागू करने के पैकेज का नाम डिवाइस ओवरले मान से मेल खाता है, ताकि यह पक्का किया जा सके कि सिर्फ़ भरोसेमंद और पहले से इंस्टॉल किए गए ऐप्लिकेशन सीमित.

रेडियो एचएएल इंटरफ़ेस के साथ काम करता है

डोमेन चुनने की सुविधा चालू करने के लिए, नीचे दिए गए ज़रूरी रेडियो एचएएल के साथ काम करें इंटरफ़ेस:

  • IRadioNetwork

    void setEmergencyMode(int serial, EmergencyMode emcModeType);
    void triggerEmergencyNetworkScan(int serial,
            EmergencyNetworkScanTrigger request);
    void cancelEmergencyNetworkScan(int serial, boolean resetScan);
    void exitEmergencyMode(int serial);
    
  • IRadioNetworkIndication

    void emergencyNetworkScanResult(RadioIndicationType type,
            EmergencyRegResult result);
    

पुष्टि करें

यह जांच करने के लिए कि टेलीफ़ोनी फ़्रेमवर्क, DomainSelectionService इंटरफ़ेस, सीटीएस टेस्ट इसमें चलाएं DomainSelectionServiceTestOnMockModem.