ב-Android 11 הושק הקונספט של סוגי משתמשים מוגדרים היטב, שמייצגים את כל סוגי המשתמשים השונים שמותרים בתכונה 'משתמשים מרובים' ב-Android. עם התכונה הזו, יצרני ציוד מקורי יכולים להתאים אישית את ההגדרות שנקבעו מראש סוגי משתמשים ב-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 (יצרן הציוד המקורי) אחראי לבצע שינויים בפלטפורמות בהתאם לדרישות של לתמיכה ב-Android, כי 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
מוגדרות כך: אמת באמצעות ציון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.