ב-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 הבאות:
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionServiceTest.java
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionTest.java