Android 11, iyi tanımlanmış tarafından izin verilen tüm farklı kullanıcı türlerini temsil eden Android çok kullanıcılı özelliği. OEM'ler bu özellik sayesinde önceden tanımlanmış AOSP kullanıcı türleri ile yeni profil türleri tanımlar. Bu bölümde, kullanıcı türlerine göz atın.
Bu sayfada, kullanıcı türlerini özelleştirmek için gereken uygulama yönergeleri ayrıntılı olarak açıklanmıştır.
Özelleştirme
AOSP kullanıcı türlerini özelleştirmek ve yeni profil türleri tanımlamak için OEM'nin config_user_types.xml
tercih edilen özelleştirmelerle birlikte kullanması gerekir. config_user_types.xml
dosyası
bir referans uygulaması ve yapılandırılabilir reklamlar için kapsamlı bir liste
özellikleri hakkında daha fazla bilgi edinin.
default-restrictions
gibi,
config_user_types.xml
dosyası için varsayılan AOSP'nin üzerine yazılır. Belirtilmeyen tüm özellikler AOSP varsayılanına uyar. Çoğu özelliği değiştirme, örneğin
profil türünün rozet özellikleri, söz konusu kullanıcı türünün önceden var olan kullanıcılarını etkiler.
Ancak default-restrictions
yalnızca kullanıcı oluşturulduğunda uygulandığından, config_user_types.xml
dosyası OTA tarafından değiştirilirse bu özelliğin değiştirilmesi, mevcut kullanıcıları etkilemez. Benzer şekilde, maksimum kullanıcı sayısını belirtmek yalnızca yeni kullanıcılar oluşturulurken geçerlidir; mevcut kullanıcılar kaldırılmaz.
Her kullanıcı türü için geçerli özelleştirme kısıtlamaları aşağıdaki gibidir:
- Profiller tamamen özelleştirilebilir ve tanımlanabilir. Bu durumda OEM özel çalışmalarında gerekli olduğu durumlarda platform üzerinde değişiklikler yapmaktan AOSP yalnızca önceden tanımlanmış verileri desteklediğinden Android'de desteklenecektir. AOSP kullanıcı türleri.
- Tam kullanıcılar tanımlanamaz ve yalnızca
default-restrictions
özellikleri özelleştirilebilir. - Sistem kullanıcısı, bu mekanizma kullanılarak özelleştirilemez. Bu durumda,
default-restrictions
,com.android.internal.R.array.config_defaultFirstUserRestrictions
kullanılarak ayarlanabilir. Daha fazla bilgi içinconfig.xml
sayfasına göz atın.
Mevcut kullanıcı türlerini değiştirme
Mevcut kullanıcı türleri, gösterildiği gibi özellikleri geçersiz kılınarak özelleştirilebilir inceleyebilirsiniz:
<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>
Bu kod örneğinde, aşağıdaki AOSP kullanıcı türleri değiştirilerek özelleştirilir. desteklenen özellikleri:
Tam kullanıcı
android.os.usertype.full.SECONDARY
:no_sms
için varsayılan kısıtlama,default-restrictions no_sms="true"
belirtilerek true olarak ayarlanır.
Profil kullanıcısı
android.os.usertype.profile.MANAGED
:max-allowed-per-parent='2'
ayarlanarak her ebeveyn kullanıcı için iki profile izin verilir.- Rozet özellikleri,
icon-badge
kullanılarak seçilen değerlere ayarlanır.badge-plain
,badge-no-background
,badge-labels
,badge-colors
. no_sms
veno_outgoing_calls
için varsayılan kısıtlamalar,default-restrictions no_sms="true" no_outgoing_calls="true"
belirtilerek doğru olarak ayarlanır.
Bu özelliklerin anlamı ve varsayılan değerleri için UserTypeFactory.java
ve UserTypeDetails.java
özelliklerine bakın.
Özel profil türleri tanımlama
Aşağıdaki kod örneğinde, yeni özel profil türlerinin nasıl tanımlandığı gösterilmektedir:
<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>
Bu kod örneğinde, com.example.profilename
profil türü aşağıdaki gibi tanımlanmıştır:
max-allowed-per-parents
, üst kullanıcı başına iki profil için2
olarak ayarlandı.change-user-type
: Bu türdeki mevcut tüm yönetilen profilleri dönüştürür Yenicom.example.profilename
ileandroid.os.usertype.profile.MANAGED
arasında cihaz<= 1
adlıuser-type
sürümünden yükseltildiğinde yardımcı oluyor.