في نظام التشغيل 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 التالية: