في Android 10، تسمح خدمة اقتراحات حسابات الهاتف بعرض اقتراحات لحسابات الهاتف للمستخدمين عند إجراء مكالمة. على سبيل المثال، بالنسبة إلى المستخدمين الذين لديهم جهاز مزوّد بشرائح SIM متعددة ومعدّلات أقل للمكالمات داخل الشبكة، تحدِّد هذه الخدمة أولاً مشغّل شبكة المتصل ثم تقترح استخدام شريحة SIM على الشبكة نفسها التي يستخدمها المتصل.
خدمة اقتراح حسابات الهاتف اختيارية ويمكن تنفيذها على الأجهزة التي تعمل بنظام التشغيل Android 10 أو إصدار أحدث.
التنفيذ
لتنفيذ اقتراحات حسابات الهواتف، نفِّذ خدمة واحدة
PhoneAccountSuggestionService
في تطبيق يقع في /system/priv-app/
. لا تتم معالجة طلب البحث في الخدمة إذا تم تنفيذ أكثر من PhoneAccountSuggestionService
واحدة. يجب أن تذكر
الخدمة إذن
android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE
.
عندما يجري مستخدم مكالمة خارجية بدون ضبط
حساب الهاتف التلقائي للمكالمات الصادرة
أو
حساب الهاتف المفضّل
للمُتصل به، ترتبط خدمة الاتصالات السلكية واللاسلكية بملف تعريف العميل
PhoneAccountSuggestionService
لجمع معلومات عن الحسابات، ويتم استدعاء
onAccountSuggestionRequest(String number)
، ويتم تعليق عملية المكالمة الصادرة.
على "PhoneAccountSuggestionService
" الاتصال برقم العميل التالي:
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
الذي أرجعه العميل التالي:
onAccountSuggestionRequest(String number)
.
عند استدعاء
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
، تعرض خدمة الاتصالات قائمة بحسابات الهاتف المقترَحة. يجب أن يعرض
أداة الاتصال بعد ذلك قائمة بحسابات الهاتف المقترَحة للمستخدمين لتحديد حساب من بينها لإجراء المكالمة.
PhoneAccountSuggestion
لتقديم اقتراحات، استخدِم فئة
PhoneAccountSuggestion.
على سبيل المثال، إذا حدّدت الخدمة أنّ المُتصل به يستخدم مشغّل شبكة الجوّال نفسه الذي يستخدمه أحد
شرائح SIM في الجهاز، يجب أن تضع الخدمة علامة على حساب الهاتف باستخدام
REASON_INTRA_CARRIER
.
ويمكن بعد ذلك إرسال هذه المعلومات إلى المستخدم في تطبيق الاتصال.
على سبيل المثال، في حال ضبط المستخدم للجهاز لاستخدام
شريحة SIM للعمل مع جميع جهات الاتصال
في حساب Google للعمل، على الخدمة وضع علامة على حساب الهاتف باستخدام
REASON_USER_SET
وضبط
shouldAutoSelect
على true للسماح لتطبيق الاتصال بتجاوز مربّع الحوار للاختيار وتلقائيًا
إجراء المكالمة باستخدام حساب الهاتف.
للحصول على معلومات عن الاقتراحات الأخرى، يُرجى الاطّلاع على
PhoneAccountSuggestion
.
Dialer
عندما تدخل المكالمة في حالة
STATE_SELECT_PHONE_ACCOUNT
، يجب أن يستخدم تطبيق الاتصال المعلومات الواردة من
PhoneAccountSuggestion
للتعامل مع
EXTRA_SUGGESTED_PHONE_ACCOUNTS
.
إيقاف الخدمة
لتخصيص عملية التنفيذ لمشغّلي شبكات الجوّال المحدّدين، يمكنك تفعيل الخدمة أو
إيقافها باستخدام
setComponentEnabledSetting
.
لا يتم طلب الخدمة إذا كانت غير مفعّلة.
تنفيذ واجهة مستخدم النظام
قد تكون هناك حاجة إلى إجراء تغييرات على واجهة مستخدم النظام، وذلك استنادًا إلى عملية التنفيذ. على سبيل المثال، للسماح للمستخدمين بتحديد أنّ جميع المكالمات التي يتم إجراؤها إلى جهة اتصال معيّنة تتم من حساب هاتف معيّن، عليك تنفيذ عملية إعداد مخصّصة وواجهة مستخدم مخصّصة للإعدادات على الجهاز.
التحقُّق
للتأكّد من صحة عملية التنفيذ، عليك إجراء اختبارات CTS التالية: