באנדרואיד 10, שירות ההצעות לחשבון טלפון מאפשר להציג הצעות לחשבונות טלפון למשתמשים בעת ביצוע שיחה. לדוגמה, עבור משתמשים עם מכשיר עם מספר סים ותעריפים נמוכים יותר עבור שיחות תוך רשת, שירות זה מזהה תחילה את הספק של המותקשר ולאחר מכן מציע להשתמש ב-SIM באותה רשת כמו המותקשר.
שירות ההצעות לחשבון טלפון הוא אופציונלי וניתן ליישם אותו במכשירים עם אנדרואיד 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 . לדוגמה, אם השירות קובע שהמתתקשר נמצא באותו ספק כמו אחד ממכשירי ה-SIM במכשיר, על השירות לסמן את חשבון הטלפון ב- REASON_INTRA_CARRIER
. לאחר מכן ניתן להעביר מידע זה למשתמש בחייגן.
לדוגמה, במצב בו המשתמש הגדיר את המכשיר להשתמש ב-SIM לעבודה עבור כל אנשי הקשר בחשבון Google בעבודה, השירות צריך לסמן את חשבון הטלפון עם REASON_USER_SET
ולהגדיר את shouldAutoSelect
ל-true כדי לאפשר לחייגן לעקוף את תיבת הדו-שיח לבחירה ולבצע את השיחה באופן אוטומטי באמצעות חשבון הטלפון.
למידע על הצעות אחרות, ראה PhoneAccountSuggestion
.
חייגן
כאשר השיחה נכנסת למצב STATE_SELECT_PHONE_ACCOUNT
, החייגן חייב להשתמש במידע מ- PhoneAccountSuggestion
כדי לטפל EXTRA_SUGGESTED_PHONE_ACCOUNTS
.
השבתת השירות
כדי להתאים אישית את היישום שלך לספקים ספציפיים, תוכל להפעיל או להשבית את השירות באמצעות setComponentEnabledSetting
. השירות אינו נבדק אם הוא מושבת.
הטמעת ממשק המשתמש של המערכת
בהתאם ליישום שלך, ייתכן שיידרשו שינויים בממשק המשתמש של המערכת. לדוגמה, כדי לאפשר למשתמשים לציין שכל השיחות לאיש קשר ספציפי מתבצעות מחשבון טלפון ספציפי, עליך ליישם זרימת הגדרה מותאמת אישית ו-UI של הגדרות עבור המכשיר.
מַתַן תוֹקֵף
כדי לאמת את היישום שלך, הרץ את מבחני ה-CTS הבאים:
-
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionServiceTest.java
-
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionTest.java