Birden fazla kullanıcıyı destekleme

Android, kullanıcıları birbirinden ayırarak tek bir Android cihazda birden fazla kullanıcıyı destekler verileri için de geçerlidir. Örneğin ebeveynler, çocuklarının Aile tableti, aile bir arabayı paylaşabilir veya kritik müdahale ekibini kullanabilir Nöbetçi görev için bir mobil cihazı paylaşabilir.

Terminoloji

Android, Android kullanıcılarını ve hesaplarını tanımlarken aşağıdaki terimleri kullanır.

Genel

Android cihaz yönetimi aşağıdaki genel terimleri kullanır:

  • Kullanıcı: Her kullanıcı farklı bir fiziksel kişi tarafından kullanılmak üzere tasarlanmıştır. kişi. Her kullanıcının ayrı uygulama verileri ve bazı benzersiz ayarları vardır. Örneğin, Ayrıca, kullanıcılar arasında açıkça geçiş yapmanızı sağlayan bir kullanıcı arayüzü de sunar. Bir kullanıcı Başka bir kullanıcı etkin durumdayken arka plan; sistem, 2023 yılı boyunca kaynakların korunmasını sağlar. İkincil kullanıcılar oluşturulabilir doğrudan kullanıcı arayüzünden veya Cihaz Yönetim başvurusu.
  • Hesap: Hesaplar bir kullanıcı içinde yer alır ancak tanımlanmamıştır veya belirli bir hesapla tanımlanan ya da bu hesapla bağlantılı bir kullanıcı değildir. Kullanıcılar ve profiller kendi benzersiz hesaplarını içerir ancak fonksiyonel yürütülmesi için gereklidir. Hesap listesi kullanıcıya göre farklılık gösterir. Ayrıntılı bilgi için bu sayfaya Hesap class tanımıdır.
  • Profil: Bir profilde uygulama verileri ayrılmış ancak bazı bilgiler paylaşılmıştır (örneğin, kablosuz ağ ve Bluetooth) de sistem genelinde geçerli ayarlar. Profil bir alt kümedir ve onunla ilişkilidir. Bir kullanıcının birden fazla profili olabilir. Profiller bir Cihaz Yönetim başvurusu. Profilin her zaman sabit bir ilişkilendirmesi vardır profili oluşturan kullanıcı tarafından tanımlanan bir üst kullanıcıya gönderilir. Profiller, kullanıcıyı oluşturan kullanıcının kullanım süresinden sonra da mevcut olmalıdır.
  • Uygulama: Bir uygulamanın verileri, ilişkilendirilmiş her kullanıcıda bulunur. Uygulama verileri, aynı kullanıcı içindeki diğer uygulamalardan korumalı alana alınır. Uygulamalar ve IPC aracılığıyla etkileşimde bulunabilir. Ayrıntılı bilgi için İşletmeler için Android'e.

Kullanıcı kategorileri

Android cihaz yönetimi aşağıdaki kullanıcı kategorilerini kullanır.

  • Sistem kullanıcısı: Bir cihaza eklenen ilk kullanıcı. Sistem kullanıcısı fabrika ayarlarına sıfırlama dışında kaldırılamaz ve şu anda diğer kullanıcılar ön plandadır. Bu kullanıcı ayrıca özel ayrıcalıklara ve kendisinin belirleyebileceği ayarlardır.
  • Gözetimsiz sistem kullanıcısı: Cihaz yapılandırılmışsa cihaza eklenen ilk kullanıcı (ro.fw.mu.headless_system_user=true ayarlayarak) gözetimsiz sistem kullanıcısı modunda çalıştırmayı sağlar. Gözetimsiz sistem kullanıcısı her zaman arka planda çalışır. Bu nedenle bu tür cihazlar, ön plan kullanıcılarını kullanın.
  • İkincil kullanıcı: Sistem dışında cihaza eklenen herhangi bir kullanıcı belirtir. İkincil kullanıcılar kaldırılabilir (kendileri veya bir yönetici tarafından) erişebilir) ve cihazdaki diğer kullanıcıları etkileyemez. Bu kullanıcılar, ve ağ bağlantısı olmaya devam etmesini sağlar.
  • Misafir kullanıcı: Geçici ikincil kullanıcı. Misafir kullanıcıların sahip olduğu kullanışlılığı sona erdiğinde misafir kullanıcıyı hızlı bir şekilde sil seçeneği sunulur. Her biri 100'den az gösterim alan aynı anda yalnızca bir misafir kullanıcı olmanız gerekir.
  • Yönetici kullanıcı: Başka kullanıcıları oluşturma ve kaldırma izni olan kullanıcı, bazı genel çoklu kullanıcı ayarlarını kontrol edebilirsiniz. Varsayılan olarak yalnızca sistem kullanıcısı yöneticidir.

Profil kategorileri

Android aşağıdaki profil kategorilerini kullanır:

  • Yönetilen profil: İş verilerini eklemek için bir uygulama tarafından oluşturulur. ve uygulamalar. Yalnızca profil sahibi ( şirket profilini oluşturduk). Başlatıcı, bildirimler ve son görevler ana kullanıcı ve kurumsal profil tarafından paylaşılan verileri içerir.
  • Kısıtlı profil: Aşağıdaki işlemleri yapabilecek üst kullanıcıya dayalı hesapları kullanır: kısıtlı profilde hangi uygulamaların kullanılabildiğini kontrol edebilir. Yalnızca şu cihazlarda kullanılabilir: ve televizyon cihazlarıdır.
  • Profili klonlama: Android, ayrı bir klon profili kullanıcısının oluşturulmasını destekler türünde tek bir uygulamanın iki örneğini çalıştırabilirsiniz. AOSP, uçtan uca destek sunmaktır. OEM'lerin eksiksiz bir şekilde teslim etmek için özelleştirmeler eklemesi özelliğini kullanıma sunduk.
  • Gizli profil: Cihazın geri kalanından ayrı, korumalı alana alınmış bir alandır. ana kullanıcıdan ayrı olarak kilitlenebilir. Gizli profil yalnızca ana kullanıcı. Gizli profilin kilidi açıldığında uygulamalar, ayarlarda görünür hale gelir. ShareSheet, Photopicker ve DocsUI; ancak uygulamalar kilitlendiğinde gizlenir. Gizli profil, iş profili ve klon profili.

Kullanıcı türleri

Android 11, yukarıdaki kullanıcı ve profil sınıflandırmasını iyi tanımlanmış kullanıcı türleri, Android çoklu kullanıcısı tarafından izin verilen farklı kullanıcı ve profil türlerini temsil eder. özelliğini kullanabilirsiniz.

Önceden tanımlanmış AOSP kullanıcı türleri şurada tanımlanmıştır: frameworks/base/core/java/android/os/UserManager.java. ve şu anda aşağıdakileri içerir:

  • android.os.usertype.full.SYSTEM
  • android.os.usertype.full.SECONDARY
  • android.os.usertype.full.GUEST
  • android.os.usertype.full.DEMO
  • android.os.usertype.full.RESTRICTED
  • android.os.usertype.profile.MANAGED
  • android.os.usertype.system.HEADLESS
  • android.os.usertype.profile.CLONE
  • android.os.usertype.profile.PRIVATE

OEM'ler, ilgili kullanıcı türlerini görmek için frameworks/base/core/res/res/xml/config_user_types.xml dosyası yükleyin. Bu da her kullanıcı türü için varsayılan yapılandırmayı değiştirmeyi kolaylaştırır. (varsayılan kısıtlamalar, simgeler, rozetler ve izin verilen maksimum kullanıcı sayısı dahil)

OEM'ler, yapılandırılabilir AOSP kullanıcı türlerine ek olarak frameworks/base/core/res/res/xml/config_user_types.xml dosyası yükleyin. Bu sayede OEM'ler, isterlerse kendi yönetilmeyen profil türlerini kullanabilir. Bununla birlikte, ilgili platformun işlevselliğini desteklemek için gerekli olan platformda yönetilen profilleri kontrol eden herhangi bir kodun artık yeni profili işleyecek şekilde değiştirilmesi dahil yazın.

Çok kullanıcıyı etkinleştirme

Çoklu kullanıcı özelliği varsayılan olarak devre dışıdır. Alıcı: Cihaz üreticilerinin, bu özelliğin yerini alan bir kaynak yer paylaşımı tanımlaması gerekir. frameworks/base/core/res/res/values/config.xml içinde aşağıdaki değerler:

<!--  Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!--  Whether Multiuser UI should be shown -->
<bool name="config_enableMultiUserUI">false</bool>

Bu yer paylaşımını uygulamak ve cihazda misafir ve ikincil kullanıcıları etkinleştirmek için şunu kullanın: Android derleme sisteminin DEVICE_PACKAGE_OVERLAYS özelliğinin yerini alacak şunun değerleri:

  • 1 değerinden büyük değere sahip config_multiuserMaximumUsers
  • true ile config_enableMultiUserUI

Maksimum kullanıcı sayısına cihaz üreticileri karar verebilir. Cihaz üreticiler veya diğerleri, ayarlarında değişiklik yaptıysa, kullanıcıların SMS ve yukarıda tanımlandığı şekilde telefon çalışması Android Uyumluluğu Tanım Belgesi (CDD).

Birden çok kullanıcıyı yönetme

Kullanıcıların ve profillerin yönetimi (kısıtlanmış profiller hariç) API'yi programlı bir şekilde Kullanımı kısıtlanacak DevicePolicyManager sınıf var.

İşletmeler, yaşamlarını yönetmek için kullanıcılar ve profiller kullanabilir içerik ve veri kapsamının yanı sıra şununla birlikte: CihazPolitikasıYöneticisi ve UserManager Kullanım alanlarına özel olarak tasarlanan benzersiz çözümler oluşturmaya yönelik API'ler.

Çok kullanıcılı sistem davranışı

Cihaza kullanıcı eklendiğinde bazı işlevler kısıtlanır. başka bir kullanıcı ön planda. Uygulama verileri kullanıcıya göre ayrıldığından, kullanıcıya göre değiştiğinden emin olun. Örneğin, bir hesaba yönelik e-posta Şu anda odakta olmayan bir kullanıcıya ait erişim, söz konusu kullanıcı ve hesap tamamlanana kadar etkin olduğundan emin olun.

Not: Telefonu ve SMS'i etkinleştirmek veya devre dışı bırakmak için işlevleri için Ayarlar > Kullanıcılar'ın altında bulunan kullanıcıya dokunun ve Telefon çağrılarına ve SMS'e izin ver ayarını kapatın.

İkincil bir kullanıcı arka planda çalışırken bazı kısıtlamalar geçerli olur. Örneğin, arka plan ikincil kullanıcısı, kullanıcı arayüzünü görüntüleyemez veya Bluetooth hizmetleri etkin. Ayrıca, sistem işlemi arka planda cihazın buradaki işlemler için ek belleğe ihtiyacı varsa, ön plan kullanıcısı.

Bir Android cihazda birden fazla kullanıcıyı çalıştırırken aşağıdakilere dikkat edin: dikkate almanız gerekir:

  • Bildirimler, tek bir kullanıcının tüm hesapları için aynı anda görünür.
  • Diğer kullanıcılar için bildirimler etkin olana kadar görünmez.
  • Her kullanıcı, uygulamaları yükleyip yerleştirebileceği bir çalışma alanına sahip olur.
  • Hiçbir kullanıcının başka bir kullanıcının uygulama verilerine erişimi yoktur.
  • Tüm kullanıcılar için yüklü uygulamaları herhangi bir kullanıcı etkileyebilir.
  • Bir yönetici kullanıcı, uygulamaları, hatta oluşturulan tüm çalışma alanını bile kaldırabilir. ikincil kullanıcılara göre gösterilir.
  • Varsayılan olarak, Misafir modundan çıkarken Misafir kullanıcı oturumundan alınan bilgiler korunmaz. Misafir kullanıcı oturumundaki bilgilerin kalıcı olmasını istiyorsanız bir kaynak oluşturmanız gerekir config_guestUserAllowEphemeralStateChange öğesini false. Bindirme dosyaları oluşturma hakkında daha fazla bilgi için Derlemeyi kaynak yer paylaşımlarıyla özelleştirme.

Android Automotive çok kullanıcılı

Android Automotive, paylaşılan bir cihaz sağlamak için Android'in çok kullanıcılı uygulamasını kullanır sahip olacaksınız.

Otomotiv Kullanıcı Türleri

Yukarıda listelenen kullanıcı türlerine ek olarak Automotive derlemeleri de bu türler için ayırt edilir. oranında kullanıcı:

  • Gözetimsiz sistem kullanıcısı. Sistem kullanıcısı tüm sistem hizmetlerini barındırır. Otomotiv'de birden fazla kullanıcıyı desteklemek için sistem kullanıcısının gözetimsiz olması da gerekir. Yalnızca bir gözetimsiz kullanıcı vardır. Gözetimsiz sistem kullanıcısı:
    • Her zaman arka planda çalıştırılmalıdır.
    • Cihaz kullanımı dışında, kullanıcı tarafından doğrudan kaldırılamaz veya erişilemez. Temel hazırlık yapılıyor. Örneğin, kullanıcılar şu gibi görevleri gerçekleştirmek için bu kullanıcı türüne geçiş yapamaz: uygulama indirme veya hesap ekleme.
    • Yalnızca fabrika ayarlarına sıfırlanarak temizlenebilir.
  • Normal kullanıcılar. Şununla aynı: Yukarıda açıklanan İkincil Kullanıcılar (ikincil kullanıcılar hariç) kullanıcılar:
    • (Eski arayüze geçildikten sonra) arka planda çalıştırmayın.
    • Doğrudan kullanıcı arayüzü üzerinden oluşturulabilir.
    • Uygulama verileri ayrılmış ancak sistem genelinde bazı ayarlar paylaşılmış olmalıdır. Örneğin, Wi-Fi ve Bluetooth'a dokunun.

Uyarılar

Aşağıdaki istisnalar, Otomotiv:

  • Gözetimsiz sistem kullanıcısı, iş profillerini desteklemiyor.
  • Varsayılan olarak, normal (ikincil) kullanıcılar telefon çağrılarına ve kısa mesajlara tam erişime sahiptir.
  • Varsayılan olarak normal (ikincil) kullanıcılar arka planda çalıştırılmaz.

Gözetimsiz sistem kullanıcısını etkinleştirme

Android 10'dan itibaren çoklu kullanıcı özelliği, otomotiv kullanım alanlarında kullanılabilir. Önemli aralarında şunlar bulunur:

  • Sistem kullanıcısı gözetimsiz ve yalnızca arka planda çalışır.
  • Gerçek kullanıcılar sistem kullanıcısıyla etkileşime girmez.

Gözetimsiz sistem kullanıcısını etkinleştirmek için cihaz üreticilerinin açıklandığı şekilde çok kullanıcı özelliğini etkinleştirmesi gerekir bölümünü ziyaret edin.

Gözetimsiz kullanıcı etkinleştirildiğinde:
  1. Cihazı Otomotiv olarak beyan etmek için özelliği ekleyin android.hardware.type.automotive
  2. ro.fw.headless_system_user değerini true olarak ayarlayın.
  3. config_multiuserMaximumUsers değerini 2 olarak ayarlayın (veya üzeri).

Daha fazla bilgi için bkz. Çok Kullanıcılı Destek inceleyebilirsiniz.

Birden fazla ekranda Android Automotive çok kullanıcılı

Android 14'teki yeni deneysel özellik, tam ikincil kullanıcılara izin verir. (şu anda ön plan kullanıcısı olmayan) etkinlikleri başlatıp kendilerine atandıkları ekrandaki kullanıcı arayüzüne erişmeleri gerekir. Bu özellik, birden fazla birden fazla eş zamanlı araç içi deneyimi desteklemek için Android Automotive OS'te eşzamanlı kullanıcı tek bir Android örneğinde özel bir kullanıcı arayüzü deneyimi olan yolcular için

Cihaz üreticileri, bu özelliği geliştirme amacıyla etkinleştirmek için bir kaynak yer paylaşımı tanımlamalıdır şununla değiştirin: frameworks/base/core/res/res/values/config.xml:

<!-- Whether the device allows users to start in background visible on displays.
    Should be false for all devices in production. Can be enabled only for development use
    in automotive vehicles with passenger displays. -->

<bool name="config_multiuserVisibleBackgroundUsers">false></bool>

Aşağıdakileri etkinleştirerek yalnızca yolculara (sürücüsüz) deneyim sunmayı deneyebilirsiniz ek yapılandırma:

<!-- Whether the device allows users to start in background visible on the default display.
    Should be false for all devices in production. Can be enabled only for development use
    in passenger-only automotive build (i.e., when Android runs in a separate system in the
    back seat to manage the passenger displays).
    When set to true, config_multiuserVisibleBackgroundUsers must also be true. -->

<bool name="config_multiuserVisibleBackgroundUsersOnDefaultDisplay">false</bool>

Android 14'te birden fazla kişi için araç içi deneyimi etkinleştirebilirsiniz. konuk kullanıcı olarak ayarlayabilirsiniz. Birden fazla misafir kullanıcının geliştirme amacıyla kullanılmasını sağlamak için üreticiler, izin verilen maksimum konuk sayısını yapılandıran bir kaynak yer paylaşımı tanımlamalıdır. frameworks/base/core/res/res/xml/config_user_types.xml alan adındaki kullanıcılar, örneğin aşağıdaki örneğe bakın:

<user-types>
   <full-type
       name="android.os.usertype.full.GUEST"
       max-allowed='4'>
       <default-restrictions no_factory_reset="true"
           no_remove_user="true"
           no_modify_accounts="true"
           no_install_apps="true"
           no_install_unknown_sources="true"
           no_uninstall_apps="true"/>
   </full-type>
</user-types>