אנדרואיד 11 הציגה את הרעיון של סוגי משתמשים מוגדרים היטב, המייצגים את כל סוגי המשתמשים השונים המותרים על ידי תכונת מרובה המשתמשים של אנדרואיד. עם תכונה זו, יצרני OEM יכולים להתאים אישית סוגי משתמש AOSP מוגדרים מראש ולהגדיר סוגי פרופילים חדשים. עיין בסעיף על סוגי משתמשים למידע נוסף.
דף זה מפרט את הנחיות היישום הדרושות להתאמה אישית של סוגי משתמשים.
התאמה אישית
על מנת להתאים אישית סוגי משתמש AOSP וכדי להגדיר סוגי פרופילים חדשים, על ה-OEM לכסות את config_user_types.xml
עם ההתאמות האישיות הרצויות. הקובץ config_user_types.xml
מכיל יישום עזר ורשימה מקיפה של תכונות הניתנות להגדרה.
כל תכונה, כגון default-restrictions
, שצוינה בקובץ config_user_types.xml
, מחליפה את ברירת המחדל של AOSP. כל תכונה שלא צוינה מצייתת לברירת המחדל של AOSP. שינוי רוב המאפיינים, כגון מאפייני התג של סוג פרופיל, משפיע על משתמשים קיימים של סוג משתמש זה. עם זאת, מכיוון default-restrictions
מוחלות רק בזמן יצירת משתמש, לשינוי התכונה הספציפית הזו, במקרה של שינוי הקובץ config_user_types.xml
על ידי OTA, אין השפעה על משתמשים קיימים. באופן דומה, ציון המספר המרבי של משתמשים חל רק בעת יצירת משתמשים חדשים; משתמשים קיימים אינם מוסרים.
הגבלות ההתאמה האישית הנוכחיות עבור כל סוג משתמש הן כדלקמן:
- ניתן להתאים ולהגדיר פרופילים באופן מלא. במקרה זה, ה-OEM אחראי לבצע שינויים בפלטפורמה כנדרש לתמיכה בפרופיל המותאם אישית שלו באנדרואיד, מכיוון ש-AOSP תומך רק בסוגי המשתמשים המוגדרים מראש של AOSP.
- לא ניתן להגדיר משתמשים מלאים ורק את תכונת
default-restrictions
שלהם ניתן להתאים אישית. - לא ניתן להתאים אישית את משתמש המערכת באמצעות מנגנון זה. במקרה זה, ניתן להגדיר
default-restrictions
באמצעותcom.android.internal.R.array.config_defaultFirstUserRestrictions
. ראהconfig.xml
למידע נוסף.
שנה סוגי משתמשים קיימים
ניתן להתאים אישית את סוגי המשתמשים הקיימים על-ידי החלפת התכונות שלהם, כפי שמוצג בדוגמאת הקוד הבאה.
<user-types version="0">
<full-type name="android.os.usertype.full.SECONDARY" >
<default-restrictions no_sms="true" />
</full-type>
<profile-type
name='android.os.usertype.profile.MANAGED'
max-allowed-per-parent='2'
icon-badge='@android:drawable/ic_corp_icon_badge_case'
badge-plain='@android:drawable/ic_corp_badge_case'
badge-no-background='@android:drawable/ic_corp_badge_no_background' >
<badge-labels>
<item res='@android:string/managed_profile_label_badge' />
<item res='@android:string/managed_profile_label_badge_2' />
</badge-labels>
<badge-colors>
<item res='@android:color/profile_badge_1' />
<item res='@android:color/profile_badge_2' />
</badge-colors>
<default-restrictions no_sms="true" no_outgoing_calls="true" />
</profile-type>
</user-types>
בדוגמת קוד זו, סוגי המשתמשים הבאים של AOSP מותאמים אישית על ידי שינוי המאפיינים הנתמכים.
משתמש מלא
android.os.usertype.full.SECONDARY
:- מגבלת ברירת המחדל של
no_sms
מוגדרת כ-true על ידי ציוןdefault-restrictions no_sms="true"
.
- מגבלת ברירת המחדל של
משתמש פרופיל
android.os.usertype.profile.MANAGED
:- שני פרופילים מותרים עבור כל משתמש אב על ידי הגדרת
max-allowed-per-parent='2'
. - תכונות התג מוגדרות לערכים הרצויים באמצעות
icon-badge
,badge-plain
,badge-no-background
,badge-labels
,badge-colors
. - מגבלות ברירת המחדל של
no_sms
ו-no_outgoing_calls
מוגדרות כ-true על ידי ציוןdefault-restrictions no_sms="true" no_outgoing_calls="true"
.
- שני פרופילים מותרים עבור כל משתמש אב על ידי הגדרת
עיין ב- UserTypeFactory.java
וב- UserTypeDetails.java
למשמעות וערכי ברירת המחדל של מאפיינים אלה.
הגדר סוגי פרופילים מותאמים אישית
דוגמת הקוד הבאה מראה כיצד מוגדרים סוגי פרופילים מותאמים אישית חדשים.
<user-types version="1">
<profile-type
name="com.example.profilename"
max-allowed-per-parent="2" />
<change-user-type
from="android.os.usertype.profile.MANAGED"
to="com.example.profilename"
whenVersionLeq="1" />
</user-types>
בדוגמת קוד זו, סוג הפרופיל com.example.profilename
מוגדר באופן הבא:
max-allowed-per-parents
מוגדר ל2
עבור שני פרופילים לכל משתמש הורה.change-user-type
: ממירה את כל הפרופילים המנוהלים הקיימים מהסוגandroid.os.usertype.profile.MANAGED
לסוג החדשcom.example.profilename
בעת שדרוג המכשיר מגרסהuser-type
של<= 1
עד OTA.