في نظام التشغيل Android 10، تتيح خدمة اقتراحات حسابات الهاتف عرض اقتراحات لحسابات الهاتف للمستخدمين عند إجراء مكالمة. على سبيل المثال، بالنسبة إلى المستخدمين الذين لديهم جهاز بشريحتَي SIM وأسعار أقل للمكالمات داخل الشبكة، تحدّد هذه الخدمة أولاً مشغّل شبكة الجوّال الخاص بالمستلم، ثم تقترح استخدام شريحة SIM على الشبكة نفسها التي يستخدمها المستلم.
خدمة اقتراح حساب الهاتف اختيارية ويمكن تنفيذها على الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل Android أو إصدار أحدث.
التنفيذ
لتنفيذ اقتراحات حسابات الهاتف، عليك تنفيذ إحدى
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 على "صحيح" للسماح لتطبيق "برنامج الاتصال" بتخطّي مربّع الحوار الخاص بالاختيار وإجراء المكالمة تلقائيًا باستخدام حساب الهاتف.
للحصول على معلومات حول الاقتراحات الأخرى، اطّلِع على
PhoneAccountSuggestion.
Dialer
عندما تنتقل المكالمة إلى حالة
STATE_SELECT_PHONE_ACCOUNT،
يجب أن يستخدم تطبيق "الهاتف" المعلومات الواردة من
PhoneAccountSuggestion
للتعامل مع
EXTRA_SUGGESTED_PHONE_ACCOUNTS.
إيقاف الخدمة
لتخصيص عملية التنفيذ لمشغّلين معيّنين، يمكنك تفعيل الخدمة أو إيقافها باستخدام setComponentEnabledSetting.
لن يتم طلب الخدمة إذا كانت غير مفعّلة.
تنفيذ واجهة مستخدم النظام
قد تحتاج إلى إجراء تغييرات على واجهة مستخدم النظام، وذلك حسب عملية التنفيذ. على سبيل المثال، للسماح للمستخدمين بتحديد أنّ جميع المكالمات التي يتم إجراؤها مع جهة اتصال معيّنة تتم من حساب هاتف معيّن، يجب تنفيذ مسار إعداد مخصّص وواجهة مستخدم مخصّصة للإعدادات على الجهاز.
التحقق من صحة البيانات
للتأكّد من صحة عملية التنفيذ، شغِّل اختبارات CTS التالية: