Android, kullanıcı hesaplarını ve uygulama verilerini ayırarak tek bir Android cihazında birden fazla kullanıcıyı destekler. Örneğin, ebeveynler çocuklarının aile tabletini kullanmasına izin verebilir, bir aile bir otomobili paylaşabilir veya kritik bir müdahale ekibi çağrı üzerine görev için bir mobil cihazı paylaşabilir.
Terminoloji
Android, Android kullanıcılarını ve hesaplarını açıklarken aşağıdaki terimleri kullanır.
Genel
Android cihaz yönetimi aşağıdaki genel terimleri kullanır:
- Kullanıcı: Her kullanıcının farklı bir gerçek kişi tarafından kullanılması amaçlanmıştır. Her kullanıcının farklı uygulama verileri ve bazı benzersiz ayarların yanı sıra, kullanıcılar arasında açıkça geçiş yapmak için bir kullanıcı arayüzü vardır. Bir kullanıcı, başka bir kullanıcı etkinken arka planda çalışabilir; sistem, uygun olduğunda kaynakları korumak için kullanıcıları kapatmayı yönetir. İkincil kullanıcılar doğrudan kullanıcı arayüzü aracılığıyla veya Cihaz Yönetimi uygulamasından oluşturulabilir.
- Hesap: Hesaplar bir kullanıcı içinde bulunur ancak bir kullanıcı tarafından tanımlanmaz veya kullanıcı herhangi bir hesap tarafından tanımlanmaz veya herhangi bir hesaba bağlanmaz. Kullanıcılar ve profiller kendi benzersiz hesaplarını içerir ancak işlevsel olmaları için hesaplara sahip olmaları gerekmez. Hesap listesi kullanıcıya göre farklılık gösterir. Ayrıntılar için Hesap sınıfı tanımına bakın.
- Profil: Profil, uygulama verilerini ayırmıştır ancak sistem genelindeki bazı ayarları (örneğin, Wi-Fi ve Bluetooth) paylaşır. Profil, bir kullanıcının varlığının bir alt kümesidir ve ona bağlıdır. Bir kullanıcının birden fazla profili olabilir. Profiller bir Cihaz Yönetimi uygulaması aracılığıyla oluşturulur. Bir profilin her zaman, profili oluşturan kullanıcı tarafından tanımlanan bir üst kullanıcıyla değişmez bir ilişkisi vardır. Profiller, oluşturan kullanıcının kullanım ömründen sonra var olmaz.
- Uygulama: Bir uygulamanın verileri, ilişkili her kullanıcıda bulunur. Uygulama verileri, aynı kullanıcı içindeki diğer uygulamalardan korumalı alana alınır. Aynı kullanıcı içindeki uygulamalar IPC aracılığıyla birbirleriyle etkileşime girebilir. Ayrıntılar için İşletmeler için Android'e bakın.
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 diğer kullanıcılar ön planda olsa bile her zaman çalışır. Bu kullanıcının ayrıca yalnızca kendisinin ayarlayabileceği özel ayrıcalıkları ve ayarları vardır.
- Başsız sistem kullanıcısı: Cihaz başsız sistem kullanıcı modunda çalışacak şekilde yapılandırılmışsa (
ro.fw.mu.headless_system_user=true
ayarlanarak) cihaza eklenen ilk kullanıcı. Başsız sistem kullanıcısı her zaman arka planda çalışır, dolayısıyla bu tür cihazlar, kullanıcı etkileşimini sağlamak için ek ön plan kullanıcılarına ihtiyaç duyar. - İkincil kullanıcı: Sistem kullanıcısı dışında cihaza eklenen herhangi bir kullanıcı. İkincil kullanıcılar kaldırılabilir (kendileri tarafından veya yönetici kullanıcı tarafından) ve cihazdaki diğer kullanıcıları etkileyemezler. Bu kullanıcılar arka planda çalışabilir ve ağ bağlantısına sahip olmaya devam edebilir.
- Konuk kullanıcı: Geçici ikincil kullanıcı. Konuk kullanıcılar, yararlılığı sona erdiğinde konuk kullanıcıyı hızlı bir şekilde silmek için açık bir seçeneğe sahiptir. Aynı anda yalnızca bir konuk kullanıcı olabilir.
- Yönetici kullanıcı: Diğer kullanıcıları oluşturma ve kaldırma iznine sahip olan ve ayrıca bazı genel çok kullanıcılı ayarları kontrol eden bir kullanıcı. 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ı içerecek şekilde bir uygulama tarafından oluşturulur. Bunlar yalnızca profil sahibi (şirket profilini oluşturan uygulama) tarafından yönetilir. Başlatıcı, bildirimler ve son görevler ana kullanıcı ve şirket profili tarafından paylaşılır.
- Kısıtlı profil: Kısıtlı profilde hangi uygulamaların mevcut olduğunu kontrol edebilen ana kullanıcıya dayalı hesapları kullanır. Yalnızca tabletlerde ve televizyon cihazlarında kullanılabilir.
- Profili kopyala: Android, cihazda tek bir uygulamanın iki örneğinin çalıştırılmasını sağlamak için ayrı bir klon profili kullanıcı türünün oluşturulmasını destekler. AOSP, bu özellik için uçtan uca destek sağlamaz. OEM'lerin, özelliğin tamamını Android kullanıcılarına sunmak için özelleştirmeler eklemesi gerekiyor.
Kullanıcı türleri
Android 11, Android Çoklu Kullanıcı özelliğinin izin verdiği tüm farklı kullanıcı ve profil türlerini temsil eden, yukarıdaki kullanıcı ve profil sınıflandırmasını iyi tanımlanmış kullanıcı türleri halinde formüle etmiştir.
Önceden tanımlanmış AOSP kullanıcı türleri frameworks/base/core/java/android/os/UserManager.java
dosyasında tanımlanmıştır ve şu anda şunları içermektedir:
-
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
OEM'ler frameworks/base/core/res/res/xml/config_user_types.xml
dosyasını yerleştirerek bu kullanıcı türlerini yapılandırma olanağına sahiptir. Bu, varsayılan kısıtlamalar, simgeler, rozetler ve izin verilen maksimum kullanıcı sayısı dahil olmak üzere her kullanıcı türü için varsayılan yapılandırmanın değiştirilmesini kolaylaştırır.
Yapılandırılabilir AOSP kullanıcı türlerine ek olarak OEM'ler, frameworks/base/core/res/res/xml/config_user_types.xml
dosyasını kullanarak yeni profil türleri tanımlayabilir. Bu, OEM'lerin istenirse kendi yönetilmeyen profil türlerini tanıtmasına olanak tanır. Ancak, yönetilen profilleri kontrol eden herhangi bir kodun artık uygunsa yeni profil türünü işleyecek şekilde değiştirilmesi de dahil olmak üzere, değişiklikleri desteklemek için gereken platform değişikliklerini yapmak OEM'in sorumluluğundadır.
Çoklu kullanıcıyı 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
dosyasında aşağıdaki değerlerin yerine geçen 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 kaplamayı uygulamak ve cihazda konuk ve ikincil kullanıcıları etkinleştirmek için aşağıdaki değerleri değiştirmek üzere Android derleme sisteminin DEVICE_PACKAGE_OVERLAYS
özelliğini kullanın:
-
config_multiuserMaximumUsers
değeri1
büyük -
config_enableMultiUserUI
iletrue
Cihaz üreticileri maksimum kullanıcı sayısına karar verebilir. Cihaz üreticileri veya diğerleri ayarları değiştirmişse, SMS ve telefon hizmetlerinin Android Uyumluluk Tanımı Belgesinde (CDD) tanımlandığı şekilde çalışmasını sağlamalıdırlar.
Birden fazla kullanıcıyı yönetme
Kullanıcıların ve profillerin yönetimi (kısıtlanmış profiller hariç), kullanımı kısıtlamak için DevicePolicyManager
sınıfındaki API'yi programlı olarak çağıran uygulamalar tarafından gerçekleştirilir.
Kuruluşlar, kullanım senaryolarına göre uyarlanmış benzersiz çözümler oluşturmak için DevicePolicyManager ve UserManager API'leriyle birlikte yukarıda özetlenen türleri kullanarak cihazlardaki uygulamaların ve verilerin ömrünü ve kapsamını yönetmek için kullanıcılar ve profiller kullanabilir.
Çok kullanıcılı sistem davranışı
Kullanıcılar bir cihaza eklendiğinde, başka bir kullanıcı ön planda 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 farklılık gösterir. Örneğin, o anda odakta olmayan bir kullanıcının hesabına gönderilen e-posta, söz konusu kullanıcı ve hesap cihazda etkinleşene kadar kullanılamaz.
Not : İkincil kullanıcı için telefon ve SMS işlevlerini etkinleştirmek veya devre dışı bırakmak üzere Ayarlar > Kullanıcılar'a gidin, kullanıcıyı seçin ve Telefon aramalarına ve SMS'e izin ver ayarını kapalı konuma getirin.
İkincil kullanıcı arka planda olduğunda bazı kısıtlamalar mevcuttur. Örneğin, arka plandaki ikincil kullanıcı kullanıcı arayüzünü görüntüleyemez veya Bluetooth hizmetlerini etkinleştiremez. Ayrıca, cihazın ön plandaki kullanıcıdaki işlemler için ek belleğe ihtiyacı olması durumunda sistem işlemi arka plandaki ikincil kullanıcıları durduracaktır.
Bir Android cihazda birden fazla kullanıcıyı çalıştırırken aşağıdaki davranışı aklınızda bulundurun:
- 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şene kadar görünmez.
- Her kullanıcıya uygulamaları yüklemek ve yerleştirmek için bir çalışma alanı verilir.
- 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.
- Yönetici kullanıcı, uygulamaları ve hatta ikincil kullanıcılar tarafından oluşturulan çalışma alanının tamamını kaldırabilir.
- Varsayılan olarak, Konuk kullanıcı oturumundan alınan bilgiler, Konuk modundan çıkıldığında kalıcı olmaz. Konuk kullanıcı oturumundan gelen bilgilerin kalıcı olmasını istiyorsanız
config_guestUserAllowEphemeralStateChange
öğesinifalse
olarak ayarlayan bir kaynak yer paylaşımı dosyası oluşturmanız gerekir. Kaplama dosyaları oluşturmaya ilişkin daha fazla bilgi için Yapıyı kaynak katmanlarıyla özelleştirme konusuna bakın.
Android Otomotiv çok kullanıcılı
Android Automotive, paylaşılan bir cihaz deneyimi sağlamak için Android'in çok kullanıcılı uygulamasına güveniyor.
Otomotiv Kullanıcı Türleri
Yukarıda listelenen kullanıcı türlerine ek olarak, Otomotiv yapıları şu tür kullanıcılar için dikkate değerdir:
- Başsız sistem kullanıcısı. Sistem kullanıcısı tüm sistem hizmetlerini barındırır. Automotive'de birden fazla kullanıcıyı desteklemek için sistem kullanıcısının da başsız olması gerekir. Yalnızca bir başsız kullanıcı var. Başsız bir sistem kullanıcısı:
- Her zaman arka planda çalışması gerekir.
- Cihaz Sağlama durumu dışında kullanıcı tarafından doğrudan kaldırılamaz veya erişilemez. Örneğin kullanıcılar, uygulama indirme veya hesap ekleme gibi görevleri gerçekleştirmek için bu Kullanıcı türüne geçiş yapamaz.
- Yalnızca fabrika ayarlarına sıfırlama ile silinebilir.
- Düzenli kullanıcılar. İkincil kullanıcılar haricinde yukarıda açıklanan İkincil Kullanıcılar ile aynıdır:
- Arka planda çalıştırmayın (kapatıldıktan sonra).
- Doğrudan kullanıcı arayüzü aracılığıyla oluşturulabilir.
- Uygulama verilerini ayırdınız ancak sistem genelindeki bazı ayarları paylaştınız. Örneğin Wi-Fi ve Bluetooth.
Uyarılar
Aşağıdaki istisnalar, başsız sistem kullanıcısı ve Otomotiv'deki normal (ikincil) Kullanıcılar için geçerlidir:
- Başsız sistem kullanıcısı iş profillerini desteklemez.
- Varsayılan olarak normal (ikincil) kullanıcılar telefon çağrılarına ve mesajlara tam erişime sahiptir.
- Varsayılan olarak normal (ikincil) kullanıcılar arka planda çalışmaz.
Başsız sistem kullanıcısını etkinleştirme
Android 10'dan itibaren çoklu kullanıcı özelliği otomotiv kullanım durumları için kullanılabilir. Önemli ayrımlar şunları içerir:
- Sistem kullanıcısı başsızdır ve yalnızca arka planda çalışır.
- İnsan 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ığı gibi çoklu kullanıcıyı etkinleştirmesi gerekir.
Başsız kullanıcı etkinleştirildiğinde:- Cihazı Otomotiv olarak bildirmek için
android.hardware.type.automotive
özelliğini ekleyin. -
ro.fw.headless_system_user
değerinitrue
olarak ayarlayın. -
config_multiuserMaximumUsers
değerini2
(veya daha yüksek) olarak ayarlayın.
Daha fazla bilgi için bkz. Otomotivde Çoklu Kullanıcı Desteği .
Birden çok ekranda Android Automotive çok kullanıcılı
Android 14'teki yeni bir 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şmelerine olanak tanır. Bu özellik, Android Automotive OS'deki birden fazla eşzamanlı kullanıcının, tek bir Android örneğinde birden fazla yolcuya özel bir kullanıcı arayüzü deneyimi sağlayan araç içi deneyimleri desteklemesine olanak tanır.
Bu özelliğin geliştirme amaçlı kullanıma sunulması için 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 yolcuya yönelik (sürücüsüz) deneyimi 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 konuk kullanıcı olarak birden fazla yolcu için araç içi deneyimi etkinleştirebilirsiniz. Birden fazla konuk kullanıcının geliştirme amaçlı kullanımına olanak sağlamak için cihaz üreticilerinin, aşağıdaki örnekte olduğu gibi, frameworks/base/core/res/res/xml/config_user_types.xml
dosyasında izin verilen maksimum konuk kullanıcı sayısını yapılandıran bir kaynak yer paylaşımı tanımlaması gerekir:
<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>