फ़ोन खाता सुझाव

एंड्रॉइड 10 में, फ़ोन खाता सुझाव सेवा उपयोगकर्ताओं को कॉल करते समय फ़ोन खातों के सुझाव दिखाने की अनुमति देती है। उदाहरण के लिए, एकाधिक सिम वाले डिवाइस और इंट्रा-नेटवर्क कॉल के लिए कम दरों वाले उपयोगकर्ताओं के लिए, यह सेवा पहले कॉल प्राप्तकर्ता के वाहक की पहचान करती है और फिर कॉल प्राप्तकर्ता के समान नेटवर्क पर सिम का उपयोग करने का सुझाव देती है।

फ़ोन खाता सुझाव सेवा वैकल्पिक है और इसे Android 10 या उच्चतर चलाने वाले उपकरणों पर लागू किया जा सकता है।

कार्यान्वयन

फ़ोन खाता सुझावों को लागू करने के लिए, एक ऐप में एक PhoneAccountSuggestionService सेवा लागू करें जो /system/priv-app/ में स्थित है। यदि एक से अधिक 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) को कॉल किया जाता है, तो दूरसंचार सेवा सुझाए गए फोन खातों की एक सूची लौटाती है। फिर डायलर को उपयोगकर्ता को कॉल करने के लिए चुनने के लिए सुझाए गए फ़ोन खातों की सूची प्रदर्शित करनी होगी।

फ़ोन खाता सुझाव

सुझाव देने के लिए, PhoneAccountSuggestion क्लास का उपयोग करें। उदाहरण के लिए, यदि सेवा यह निर्धारित करती है कि कॉल प्राप्तकर्ता डिवाइस में एक सिम के समान वाहक पर है, तो सेवा को फोन खाते को REASON_INTRA_CARRIER के साथ चिह्नित करना चाहिए। फिर यह जानकारी डायलर में उपयोगकर्ता को बताई जा सकती है।

उदाहरण के लिए, ऐसी स्थिति में जहां उपयोगकर्ता ने कार्य Google खाते में सभी संपर्कों के लिए कार्य सिम का उपयोग करने के लिए डिवाइस को कॉन्फ़िगर किया है, सेवा को फोन खाते को REASON_USER_SET के साथ चिह्नित करना चाहिए और डायलर को चयन संवाद को बायपास करने की अनुमति देने के लिए shouldAutoSelect को सही पर सेट करना चाहिए। और फ़ोन खाते का उपयोग करके स्वचालित रूप से कॉल करें।

अन्य सुझावों की जानकारी के लिए, PhoneAccountSuggestion देखें।

डायलर

जब कॉल STATE_SELECT_PHONE_ACCOUNT स्थिति में प्रवेश करती है, तो डायलर को EXTRA_SUGGESTED_PHONE_ACCOUNTS संभालने के लिए PhoneAccountSuggestion की जानकारी का उपयोग करना चाहिए।

सेवा अक्षम करना

विशिष्ट वाहकों के लिए अपने कार्यान्वयन को अनुकूलित करने के लिए, आप setComponentEnabledSetting का उपयोग करके सेवा को सक्षम या अक्षम कर सकते हैं। अक्षम होने पर सेवा के बारे में पूछताछ नहीं की जाती है.

सिस्टम यूआई कार्यान्वयन

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

मान्यकरण

अपने कार्यान्वयन को सत्यापित करने के लिए, निम्नलिखित सीटीएस परीक्षण चलाएँ: