Android 10 में, फ़ोन खाते का सुझाव देने वाली सेवा, लोगों को कॉल करते समय फ़ोन खातों के सुझाव दिखाने की अनुमति देती है. उदाहरण के लिए, एक से ज़्यादा सिम वाले डिवाइस और इंट्रा-नेटवर्क कॉल के लिए कम दरों पर काम करने वाले उपयोगकर्ताओं के लिए, यह सेवा सबसे पहले, कॉल करने वाले व्यक्ति की मोबाइल और इंटरनेट सेवा देने वाली कंपनी की पहचान करती है और फिर सिम को उसी नेटवर्क पर इस्तेमाल करने का सुझाव देती है जिस पर कॉल करने वाला व्यक्ति लगा है.
फ़ोन में खाता जोड़ने के सुझाव की सुविधा चालू करना ज़रूरी नहीं है. इसे Android 10 या इसके बाद के वर्शन वाले डिवाइसों पर चालू किया जा सकता है.
लागू करना
फ़ोन खाते के सुझावों को लागू करने के लिए, /system/priv-app/
में मौजूद किसी ऐप्लिकेशन में एक
PhoneAccountSuggestionService
सेवा लागू करें. अगर एक से ज़्यादा PhoneAccountSuggestionService
लागू किए जाते हैं, तो सेवा के लिए अनुरोध नहीं किया जाता. सेवा को android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE
की अनुमति का एलान करना होगा.
जब कोई उपयोगकर्ता आउटगोइंग कॉल करता है, जिसमें
कॉल पाने वाले व्यक्ति के लिए, डिफ़ॉल्ट आउटगोइंग फ़ोन खाता या पसंदीदा फ़ोन खाता सेट नहीं है, तो उस व्यक्ति के खातों की जानकारी हासिल करने के लिए टेलिकॉम सेवा PhoneAccountSuggestionService
से बाइंड हो जाती है. इसके बाद, उस खाते onAccountSuggestionRequest(String number)
को कॉल किया जाता है और आउटगोइंग कॉल की प्रोसेस निलंबित हो जाती है.
PhoneAccountSuggestionService
को onAccountSuggestionRequest(String number)
से मिले नंबर पर,
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
को कॉल करना होगा.
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
को कॉल करने पर, टेलीकॉम सेवा, सुझाए गए फ़ोन खातों की सूची दिखाती है. इसके बाद, डायलर को सुझाए गए फ़ोन खातों की सूची दिखानी चाहिए, ताकि उपयोगकर्ता कॉल करने के लिए उनमें से किसी एक को चुन सके.
फ़ोन खाते का सुझाव
सुझाव देने के लिए, PhoneAccountShowion क्लास का इस्तेमाल करें.
उदाहरण के लिए, अगर सेवा को पता चलता है कि कॉल करने वाला व्यक्ति और डिवाइस में इस्तेमाल किया गया सिम, दोनों एक ही मोबाइल और इंटरनेट सेवा देने वाली कंपनी का इस्तेमाल करते हैं, तो सेवा को फ़ोन खाते पर REASON_INTRA_CARRIER
का निशान लगाना चाहिए.
इसके बाद, उपयोगकर्ता को डायलर में यह जानकारी दी जा सकती है.
उदाहरण के लिए, अगर उपयोगकर्ता ने ऑफ़िस के Google खाते में मौजूद सभी संपर्कों के लिए, ऑफ़िस सिम का इस्तेमाल करने के लिए डिवाइस को कॉन्फ़िगर किया है, तो सेवा को फ़ोन खाते पर REASON_USER_SET
का निशान लगाकर shouldAutoSelect
'सही' पर सेट करना होगा. इससे डायलर को चुनने के लिए उपलब्ध डायलॉग को बायपास करने और फ़ोन खाते का इस्तेमाल करके अपने-आप कॉल लगाने की अनुमति मिलेगी.
अन्य सुझावों के बारे में जानकारी के लिए, PhoneAccountSuggestion
देखें.
Dialer
जब कॉल STATE_SELECT_PHONE_ACCOUNT
स्टेटस में आता है, तो डायलर को EXTRA_SUGGESTED_PHONE_ACCOUNTS
को मैनेज करने के लिए, PhoneAccountSuggestion
की जानकारी का इस्तेमाल करना चाहिए.
सेवा बंद करना
अगर आपको मोबाइल और इंटरनेट सेवा देने वाली चुनिंदा कंपनियों के हिसाब से, इस सेवा को लागू करना है, तो setComponentEnabledSetting
का इस्तेमाल करके इस सेवा को चालू या बंद किया जा सकता है.
बंद होने पर, सेवा के बारे में क्वेरी नहीं की जाती.
सिस्टम यूज़र इंटरफ़ेस (यूआई) लागू करना
लागू करने के तरीके के आधार पर, सिस्टम के यूज़र इंटरफ़ेस (यूआई) में बदलाव करना पड़ सकता है. उदाहरण के लिए, उपयोगकर्ताओं को यह बताने की अनुमति देने के लिए कि किसी खास संपर्क को किए जाने वाले सभी कॉल, किसी खास फ़ोन खाते से किए जाते हैं, आपको डिवाइस के लिए पसंद के मुताबिक सेट अप फ़्लो और सेटिंग यूज़र इंटरफ़ेस (यूआई) लागू करना होगा.
पुष्टि करें
अपने लागू किए जाने की पुष्टि करने के लिए, नीचे दिए गए सीटीएस टेस्ट चलाएं:
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionServiceTest.java
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionTest.java