ב-Android 12 ואילך, יצרני המכשירים יכולים לבחור להשתמש בחוויית קישוריות פשוטה יותר שעוזרת למשתמשים להבין טוב יותר את חיבורי הרשת שלהם, לעבור בין ספקי אינטרנט ולפתור בעיות שקשורות לקישוריות לרשת. השינויים האלה בחוויית המשתמש, בהשוואה ל-Android 11 וגרסאות ישנות יותר, משתקפים בממשק המשתמש, בסמלים ובשינויים ב-API של ההגדרות המהירות וההגדרות. כל השינויים האלה זמינים ב-AOSP, ויצרני המכשירים יכולים להפעיל אותם כפי שהם או להתאים אותם אישית.
סקירה כללית על חוויית הקישוריות הפשוטה
בקטע הזה מתוארים השינויים העיקריים בממשק המשתמש של חוויית החיבור הפשוטה ב-AOSP, החל מ-Android 12.
הכרטיס 'אינטרנט' בהגדרות המהירות
תפריט ההגדרות המהירות כולל משבצת אינטרנט שפותחת חלונית אינטרנט שבה המשתמשים יכולים לעבור בין חיבורי Wi-Fi לחיבורים סלולריים. המשבצת 'אינטרנט' משלבת את המשבצות 'Wi-Fi' ו'נתונים סלולריים' ששימשו ב-Android 11 ואילך.
איור 1. המשבצת 'אינטרנט' בהגדרות המהירות
הקטע 'שיחות והודעות SMS' בהגדרות
באפליקציית ההגדרות יש קטע שיחות והודעות SMS בקטע רשת ואינטרנט, שבו מוצג סטטוס הזמינות ואפשרויות לשיחות ב-Wi-Fi.
איור 2. הקטע 'שיחות והודעות SMS' בהגדרות
לחצן האיפוס בהגדרות
באפליקציית ההגדרות, בקטע רשת ואינטרנט > אינטרנט מופיע לחצן איפוס שמאפשר למשתמשים לאפס את המודם של הטלפוניה וה-Wi-Fi במכשיר. הלחצן הזה יכול להיות שימושי בפתרון בעיות שקשורות לקישוריות לרשת.
איור 3. לחצן איפוס לפתרון בעיות בקישוריות
הטמעה
כדי להפעיל את חוויית החיבור הפשוטה במכשיר, משתמשים בדגל ההגדרות הגלובלי הבא:
- שם:
persist.sys.fflag.override.settings_provider_model
- טיפוס: Boolean (בוליאני)
- ערך: מגדירים את הערך
true
כדי להפעיל את ההתנהגות של הפשטת הקישוריות, או את הערךfalse
כדי להשבית אותה ולהשתמש בהתנהגות הקודמת. החל מ-Android 12, נתיב הקוד שלfalse
לא מתוחזק באופן פעיל יותר.
בנוסף, אפשר להגדיר את המצבים הבאים של ממשק המשתמש עבור ספקים ספציפיים באמצעות הגדרת הספק. מפתחות התצורה הם:
CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL
: משתנה בוליאני שמציין אם הספק מגדיר רשתות Wi-Fi שנכללות ברשת הליבה שלו ומוצגות כחלק מהרשת הסלולרית. האפשרות הזו פועלת בשילוב עם השיטהWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
.CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: משתנה בוליאני שמציין אם קישוריות לרשת נתונים (IP) משמשת כתנאי משלים כדי לאפשר או למנוע את הצגת הסמל אין אפשרות להתקשר.CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: משתנה בוליאני שמציין אם הסמל של עוצמת השיחה מוצג בממשק המשתמש של המערכת.
ממשקי API של מסגרות
כדי להשבית באופן זמני רשתות Wi-Fi בקרבת מקום, משתמשים ב-APIs הבאים:
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: מאפשרת למשתמש לבחור רשת ספק בלי להשבית את ה-Wi-Fi. השבתת כל רשתות ה-Wi-Fi הגלויות למשך 30 דקות לפחות (השליטה מתבצעת דרך שכבת-העלconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) ולמשך 6 שעות לכל היותר (השליטה מתבצעת דרך שכבת-העלconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). רשתות Wi-Fi מופעלות מחדש בכל פעם שמפעילים או משביתים את ה-Wi-Fi, מפעילים מחדש את המכשיר, המשתמש בוחר רשת Wi-Fi (במקרה כזה, ה-API שלstopRestrictingAutoJoinToSubscriptionId()
מופעל על ידי ההגדרות) או שהרשת לא גלויה במשך 60 דקות.WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: שחזור של הפעולה הרגילה.
כדי לתמוך בלחצן האיפוס ובממשק המשתמש לפתרון בעיות, שמוטמעים בכיתה com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, צריך להשתמש בממשקי ה-API הבאים:
WifiManager#restartWifiSubsystem(String reason)
: הפעלה מחדש של מערכת המשנה של ה-Wi-Fi.TelephonyManager#rebootRadio()
: איפוס של מודם הרדיו.
עבודה עם כמה ספקים
אם אתם משתמשים בחוויית החיבור הפשוטה יותר אצל ספקים מסוימים אבל לא אצל אחרים, חשוב לזכור את התרחיש של כרטיסי SIM מרובים, שבו משתמש משתמש בשני כרטיסי SIM, אחד מספק שותף שהביע הסכמה לשינויים בממשק המשתמש והשני לא. בתרחיש כזה, חשוב להחליט איזה ממשק משתמש יוצג למשתמשים ולבדוק היטב את ההתנהגות במכשירים.