ב-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, אחד מספק שותף שהחליט להשתמש בשינויים בממשק המשתמש והשני לא. בתרחיש כזה, חשוב להחליט איזה ממשק משתמש יוצג למשתמשים ולבדוק היטב את ההתנהגות במכשירים.