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ılacak şekilde tasarlanmıştır. 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 doğrudan kullanıcı arayüzü üzerinden veya bir Cihaz Yönetimi uygulamasından oluşturulabilir.
  • Hesap: Hesaplar bir kullanıcının içinde bulunur ancak kullanıcı tarafından tanımlanmaz. Kullanıcılar da herhangi bir hesap tarafından tanımlanmaz veya bir hesaba bağlanmaz. 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 değişir. Ayrıntılı bilgi için Hesap sınıfı tanımını inceleyin.
  • Profil: Profillerde uygulama verileri ayrılır ancak sistem genelindeki bazı ayarlar (ör. kablosuz bağlantı ve Bluetooth) paylaşılır. Profil, kullanıcının varlığının alt kümesidir ve kullanıcıya bağlıdır. Bir kullanıcının birden fazla profili olabilir. Profiller, bir Cihaz Yönetimi uygulaması aracılığıyla oluşturulur. Profiller, her zaman profili oluşturan kullanıcı tarafından tanımlanan ve değiştirilemeyen bir üst kullanıcıyla ilişkilendirilir. Profiller, kullanıcıyı oluşturan kullanıcının kullanım süresinden sonra da mevcut olmalıdır.
  • Uygulama: Uygulamanın verileri, ilişkili her kullanıcıda bulunur. Uygulama verileri, aynı kullanıcıdaki diğer uygulamalardan korumalı alana alınır. Uygulamalar ve IPC aracılığıyla etkileşimde bulunabilir. Ayrıntılar için Kurumsal Android başlıklı makaleyi inceleyin.

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 kullanıcısı dışında cihaza eklenen tüm kullanıcılar. İkincil kullanıcılar kaldırılabilir (kendileri veya bir yönetici kullanıcı tarafından) ve cihazdaki diğer kullanıcıları etkilemez. Bu kullanıcılar, ve ağ bağlantısı olmaya devam etmesini sağlar.
  • Davetli 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 ve uygulamalarını barındırmak için bir uygulama tarafından oluşturulur. Yalnızca profil sahibi ( şirket profilini oluşturduk). Başlatıcı, bildirimler ve son görevler üst kullanıcı ile kurumsal profil tarafından paylaşılır.
  • 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 tabletlerde ve televizyon cihazlarında kullanılabilir.
  • 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, bu özellik için uçtan uca destek sağlamaz. 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ı için oluşturulabilir. 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ı, Android çok kullanıcılı özelliğinin izin verdiği tüm farklı kullanıcı ve profil türlerini temsil eden iyi tanımlanmış kullanıcı türlerine dönüştürmüştür.

Önceden tanımlanmış AOSP kullanıcı türleri frameworks/base/core/java/android/os/UserManager.java bölümünde tanımlanmıştır ve şu anda şunları 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ı oluşturun. Bu sayede, varsayılan kısıtlamalar, simgeler, rozetler ve izin verilen maksimum kullanıcı sayısı da dahil olmak üzere her kullanıcı türü için varsayılan yapılandırmayı değiştirmek kolaylaşır.

OEM'ler, yapılandırılabilir AOSP kullanıcı türlerine ek olarak frameworks/base/core/res/res/xml/config_user_types.xml dosyası oluşturun. Bu sayede OEM'ler, isterlerse kendi yönetilmeyen profil türlerini tanıtabilir. Ancak değişiklikleri desteklemek için gereken platform değişikliklerini yapmak OEM'nin sorumluluğundadır. Bu değişiklikler arasında, yönetilen profilleri kontrol eden tüm kodların, uygun olduğunda yeni profil türünü işleyecek şekilde değiştirilmesi de yer alır.

Çok kullanıcı özelliğini etkinleştirme

Çoklu kullanıcı özelliği varsayılan olarak devre dışıdır. Bu özelliği etkinleştirmek için cihaz üreticilerinin, frameworks/base/core/res/res/values/config.xml'teki aşağıdaki değerlerin yerini alacak bir kaynak yer paylaşımı tanımlaması gerekir:

<!--  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 bir config_multiuserMaximumUsers
  • true ile config_enableMultiUserUI

Cihaz üreticileri maksimum kullanıcı sayısına karar verebilir. Cihaz üreticileri veya başkaları ayarları değiştirdiyse SMS ve telefon görüşmelerinin Android Uyumluluk Tanımlama Belgesi'nde (CDD) tanımlandığı şekilde çalıştığından emin olmalıdırlar.

Birden fazla kullanıcıyı yönetme

Kullanıcıların ve profillerin (kısıtlanmış profiller hariç) yönetimi, kullanımı kısıtlamak için DevicePolicyManager sınıfında API'yi programlı olarak çağıran uygulamalar tarafından gerçekleştirilir.

Kuruluşlar, yukarıda belirtilen türleri DevicePolicyManager ve UserManager API'leriyle birlikte kullanarak cihazlardaki uygulamaların ve verilerin kullanım süresini ve kapsamını yönetmek için kullanıcıları ve profilleri kullanabilir. Böylece, kullanım alanlarına özel çözümler oluşturabilirler.

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

Bir cihaza kullanıcı eklendiğinde, ön planda başka bir kullanıcı olduğunda bazı işlevler kısıtlanır. Uygulama verileri kullanıcıya göre ayrıldığından bu uygulamaların durumu kullanıcıya göre değişir. Ö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: İkincil bir kullanıcı için telefon ve SMS işlevlerini etkinleştirmek veya devre dışı bırakmak istiyorsanız Ayarlar > Kullanıcılar'a gidin, kullanıcıyı seçin ve Telefon aramalarına ve SMS'ye izin ver ayarını kapalı duruma getirin.

İkincil kullanıcı arka plandayken bazı kısıtlamalar vardır. Örneğin, arka plandaki ikincil kullanıcı kullanıcı arayüzünü görüntüleyemez veya Bluetooth hizmetlerini etkinleştiremez. Ayrıca, sistem işlemi arka planında 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ılara yönelik bildirimler, etkinleştirilene 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.
  • Herhangi bir kullanıcı, tüm kullanıcılar için yüklü uygulamaları 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ı hakkında daha fazla bilgi edinin.

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 sunmaktır.

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. Automotive'te birden fazla kullanıcıyı desteklemek için sistem kullanıcısının da başsız olması gerekir. Yalnızca bir gözetimsiz kullanıcı vardır. Gözetimli sistem kullanıcısı:
    • Her zaman arka planda çalışmalı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 uygulama indirme veya hesap ekleme gibi işlemleri gerçekleştirmek için bu kullanıcı türüne geçemez.
    • Yalnızca fabrika ayarlarına sıfırlamayla temizlenebilir.
  • Normal kullanıcılar. Yukarıda açıklanan İkincil Kullanıcılar ile aynıdır. Bununla birlikte, ikincil kullanıcılar:
    • Arka planda çalışmaz (başka bir uygulamaya geçiş yapıldıktan sonra).
    • Doğrudan kullanıcı arayüzü üzerinden oluşturulabilir.
    • Ayrı uygulama verilerine sahip ancak sistem genelindeki bazı ayarları paylaşan. Örneğin, kablosuz bağlantı ve Bluetooth.

Uyarılar

Aşağıdaki istisnalar, Automotive'teki başsız sistem kullanıcısı ve normal (ikincil) kullanıcılar için geçerlidir:

  • 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özetimli sistem kullanıcısını etkinleştirme

Android 10'dan itibaren çok kullanıcılı özellik, otomotiv kullanım alanları için kullanılabilir. Önemli farklılıklar arasında şunlar yer alır:

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

Başsız sistem kullanıcısını etkinleştirmek için cihaz üreticilerinin yukarıda açıklandığı şekilde çok kullanıcılı özelliği etkinleştirmesi gerekir.

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ıların (mevcut ön plan kullanıcısı olmayan) etkinlikleri başlatmasına ve atandıkları ekrandaki kullanıcı arayüzüne erişmesine olanak tanır. Bu özellik, Android Automotive OS'te birden fazla eşzamanlı kullanıcının, tek bir Android örneğinde birden fazla yolcuya özel bir kullanıcı arayüzü deneyimi sunan araç içi deneyimleri desteklemesine olanak tanır.

Bu özelliği geliştirme amaçlı kullanım için etkinleştirmek isteyen cihaz üreticilerinin, frameworks/base/core/res/res/values/config.xml dosyasında aşağıdaki değeri değiştirecek bir kaynak yer paylaşımı tanımlaması gerekir:

<!-- 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ğıdaki ek yapılandırmayı etkinleştirerek yalnızca yolcu (sürücü yok) deneyimini deneyebilirsiniz:

<!-- 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, misafir kullanıcı olarak birden fazla yolcu için araç içi deneyimi etkinleştirebilirsiniz. Geliştirme amaçlı kullanım için birden fazla misafir kullanıcıyı etkinleştirmek isteyen cihaz üreticilerinin, frameworks/base/core/res/res/xml/config_user_types.xml'te izin verilen maksimum misafir kullanıcı sayısını yapılandıran bir kaynak yer paylaşımı tanımlaması gerekir. Aşağıdaki örnekte bu yer paylaşımı gösterilmektedir:

<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>