Mendukung banyak pengguna

Android mendukung banyak pengguna dalam satu perangkat Android dengan memisahkan akun pengguna dan data aplikasi. Misalnya, orang tua mungkin mengizinkan anak-anak mereka menggunakan tablet keluarga, satu keluarga dapat berbagi mobil, atau tim tanggap kritis mungkin berbagi perangkat seluler untuk tugas panggilan.

Terminologi

Android menggunakan istilah berikut saat menjelaskan pengguna dan akun Android.

Umum

Pengelolaan perangkat Android menggunakan istilah umum berikut:

  • Pengguna: Setiap pengguna dimaksudkan untuk digunakan oleh orang fisik yang berbeda. Setiap pengguna memiliki data aplikasi yang berbeda dan beberapa pengaturan unik, serta antarmuka pengguna untuk beralih antar pengguna secara eksplisit. Seorang pengguna dapat berjalan di latar belakang saat pengguna lain aktif; sistem mengelola mematikan pengguna untuk menghemat sumber daya bila diperlukan. Pengguna sekunder dapat dibuat baik secara langsung melalui antarmuka pengguna atau dari aplikasi Administrasi Perangkat .
  • Akun: Akun terdapat dalam pengguna tetapi tidak ditentukan oleh pengguna, dan pengguna juga tidak ditentukan atau ditautkan ke akun tertentu. Pengguna dan profil berisi akun unik mereka sendiri tetapi tidak diharuskan memiliki akun agar dapat berfungsi. Daftar akun berbeda-beda menurut pengguna. Untuk detailnya, lihat definisi kelas Akun .
  • Profil: Profil telah memisahkan data aplikasi namun berbagi beberapa pengaturan seluruh sistem (misalnya, Wi-Fi dan Bluetooth). Profil adalah bagian dari, dan terikat pada, keberadaan pengguna. Seorang pengguna dapat memiliki banyak profil. Profil dibuat melalui aplikasi Administrasi Perangkat . Profil selalu memiliki kaitan yang tidak dapat diubah dengan pengguna induk, yang ditentukan oleh pengguna yang membuat profil. Profil tidak ada setelah masa pembuatan pengguna.
  • Aplikasi: Data aplikasi ada dalam setiap pengguna terkait. Data aplikasi dimasukkan ke dalam sandbox dari aplikasi lain dalam pengguna yang sama. Aplikasi dalam pengguna yang sama dapat berinteraksi satu sama lain melalui IPC. Untuk mengetahui detailnya, lihat Android untuk perusahaan .

Kategori pengguna

Administrasi perangkat Android menggunakan kategori pengguna berikut.

  • Pengguna sistem: Pengguna pertama yang ditambahkan ke perangkat. Pengguna sistem tidak dapat dihapus kecuali dengan reset pabrik dan selalu berjalan bahkan ketika pengguna lain berada di latar depan. Pengguna ini juga memiliki hak istimewa dan pengaturan khusus yang hanya dapat diatur olehnya.
  • Pengguna sistem tanpa kepala: Pengguna pertama ditambahkan ke perangkat jika perangkat dikonfigurasi untuk berjalan dalam mode pengguna sistem tanpa kepala (dengan menyetel ro.fw.mu.headless_system_user=true ). Pengguna sistem tanpa kepala selalu berjalan di latar belakang, sehingga perangkat tersebut memerlukan pengguna latar depan tambahan untuk mengaktifkan interaksi pengguna.
  • Pengguna sekunder: Setiap pengguna yang ditambahkan ke perangkat selain pengguna sistem. Pengguna sekunder dapat dihapus (baik oleh pengguna itu sendiri atau oleh pengguna admin) dan tidak dapat memengaruhi pengguna lain di perangkat. Pengguna ini dapat berjalan di latar belakang dan terus memiliki konektivitas jaringan.
  • Pengguna tamu: Pengguna sekunder sementara. Pengguna tamu memiliki opsi eksplisit untuk menghapus pengguna tamu dengan cepat ketika kegunaannya sudah habis. Hanya ada satu pengguna tamu dalam satu waktu.
  • Pengguna admin: Pengguna yang memiliki izin untuk membuat dan menghapus pengguna lain, serta mengontrol beberapa pengaturan multi-pengguna umum. Secara default, hanya pengguna sistem yang menjadi admin.

Kategori profil

Android menggunakan kategori profil berikut:

  • Profil terkelola: Dibuat oleh aplikasi untuk memuat data dan aplikasi kerja. Mereka dikelola secara eksklusif oleh pemilik profil (aplikasi yang membuat profil perusahaan). Peluncur, notifikasi, dan tugas terkini dibagikan oleh pengguna induk dan profil perusahaan.
  • Profil terbatas: Menggunakan akun berdasarkan pengguna induk, yang dapat mengontrol aplikasi apa saja yang tersedia di profil terbatas. Hanya tersedia di tablet dan perangkat televisi.
  • Profil klon: Android mendukung pembuatan jenis pengguna profil klon terpisah untuk memungkinkan menjalankan dua contoh aplikasi tunggal pada perangkat. AOSP tidak menyediakan dukungan end-to-end untuk fitur tersebut. OEM perlu menambahkan penyesuaian untuk menghadirkan fitur lengkap kepada pengguna Android.

Tipe pengguna

Android 11 telah merumuskan klasifikasi pengguna dan profil di atas ke dalam jenis pengguna yang terdefinisi dengan baik, yang mewakili semua jenis pengguna dan profil berbeda yang diizinkan oleh fitur Multi-pengguna Android.

Tipe pengguna AOSP yang telah ditentukan sebelumnya ditentukan dalam frameworks/base/core/java/android/os/UserManager.java dan saat ini mencakup:

  • 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 memiliki kemampuan untuk mengonfigurasi tipe pengguna ini dengan melapisi file frameworks/base/core/res/res/xml/config_user_types.xml . Hal ini memfasilitasi perubahan konfigurasi default untuk setiap jenis pengguna, termasuk batasan default, ikon, lencana, dan jumlah maksimum pengguna yang diizinkan.

Selain tipe pengguna AOSP yang dapat dikonfigurasi, OEM dapat menentukan tipe profil baru menggunakan file frameworks/base/core/res/res/xml/config_user_types.xml . Hal ini memungkinkan OEM untuk memperkenalkan jenis profil non-terkelola mereka sendiri jika diinginkan. Namun, OEM bertanggung jawab untuk melakukan modifikasi platform sebagaimana diperlukan untuk mendukung perubahan tersebut, termasuk memodifikasi kode apa pun yang memeriksa profil terkelola agar kini menangani jenis profil baru jika sesuai.

Mengaktifkan multi-pengguna

Fitur multi-pengguna dinonaktifkan secara default. Untuk mengaktifkan fitur ini, produsen perangkat harus menentukan hamparan sumber daya yang menggantikan nilai berikut di frameworks/base/core/res/res/values/config.xml :

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

Untuk menerapkan overlay ini dan mengaktifkan pengguna tamu dan sekunder di perangkat, gunakan fitur DEVICE_PACKAGE_OVERLAYS pada sistem build Android untuk menggantikan nilai untuk:

  • config_multiuserMaximumUsers dengan nilai lebih besar dari 1
  • config_enableMultiUserUI dengan true

Produsen perangkat dapat menentukan jumlah maksimum pengguna. Jika produsen perangkat atau pihak lain telah mengubah setelan, mereka harus memastikan SMS dan telepon berfungsi sebagaimana ditentukan dalam Dokumen Definisi Kompatibilitas Android (CDD).

Mengelola banyak pengguna

Pengelolaan pengguna dan profil (dengan pengecualian profil yang dibatasi) dilakukan oleh aplikasi yang secara terprogram memanggil API di kelas DevicePolicyManager untuk membatasi penggunaan.

Perusahaan dapat menggunakan pengguna dan profil untuk mengelola masa pakai serta cakupan aplikasi dan data pada perangkat, menggunakan jenis yang diuraikan di atas bersama dengan DevicePolicyManager dan UserManager API untuk membangun solusi unik yang disesuaikan dengan kasus penggunaannya.

Perilaku sistem multi-pengguna

Saat pengguna ditambahkan ke perangkat, beberapa fungsi dibatasi saat pengguna lain berada di latar depan. Karena data aplikasi dipisahkan oleh pengguna, status aplikasi tersebut berbeda-beda menurut pengguna. Misalnya, email yang ditujukan untuk akun pengguna yang saat ini tidak fokus tidak akan tersedia hingga pengguna dan akun tersebut aktif di perangkat.

Catatan : Untuk mengaktifkan atau menonaktifkan fungsi telepon dan SMS bagi pengguna sekunder, buka Pengaturan > Pengguna , pilih pengguna, dan matikan pengaturan Izinkan panggilan telepon dan SMS .

Beberapa batasan ada saat pengguna sekunder berada di latar belakang. Misalnya, pengguna sekunder di latar belakang tidak dapat menampilkan antarmuka pengguna atau mengaktifkan layanan Bluetooth. Selain itu, proses sistem akan menghentikan pengguna sekunder di latar belakang jika perangkat memerlukan memori tambahan untuk operasi di pengguna latar depan.

Saat mempekerjakan banyak pengguna di perangkat Android, perhatikan perilaku berikut:

  • Notifikasi muncul untuk semua akun dari satu pengguna sekaligus.
  • Notifikasi untuk pengguna lain tidak muncul sampai aktif.
  • Setiap pengguna mendapatkan ruang kerja untuk menginstal dan menempatkan aplikasi.
  • Tidak ada pengguna yang memiliki akses ke data aplikasi pengguna lain.
  • Setiap pengguna dapat memengaruhi aplikasi yang diinstal untuk semua pengguna.
  • Pengguna admin dapat menghapus aplikasi atau bahkan seluruh ruang kerja yang dibuat oleh pengguna sekunder.
  • Secara default, informasi dari sesi pengguna Tamu tidak disimpan saat keluar dari mode Tamu. Jika Anda ingin informasi dari sesi pengguna Tamu tetap ada, Anda harus membuat file hamparan sumber daya yang menyetel config_guestUserAllowEphemeralStateChange ke false . Untuk informasi lebih lanjut tentang cara membuat file overlay, lihat Menyesuaikan build dengan resource overlay .

Multi-pengguna Android Automotive

Android Automotive mengandalkan penerapan multi-pengguna Android untuk memberikan pengalaman perangkat bersama.

Jenis Pengguna Otomotif

Selain jenis pengguna yang tercantum di atas, Rakitan Otomotif juga terkenal untuk jenis pengguna berikut:

  • Pengguna sistem tanpa kepala. Pengguna sistem menghosting semua layanan sistem. Untuk mendukung banyak pengguna di Otomotif, pengguna sistem juga harus tanpa kepala . Hanya ada satu pengguna tanpa kepala. Pengguna sistem tanpa kepala:
    • Harus selalu berjalan di latar belakang.
    • Tidak dapat dihapus atau diakses langsung oleh pengguna kecuali dalam hal Penyediaan Perangkat. Misalnya, pengguna tidak dapat beralih ke tipe Pengguna ini untuk melakukan tugas seperti mengunduh aplikasi atau menambahkan akun.
    • Hanya dapat dihapus dengan reset pabrik.
  • Pengguna biasa. Sama seperti Pengguna Sekunder yang dijelaskan di atas, kecuali pengguna sekunder:
    • Jangan berjalan di latar belakang (setelah dialihkan).
    • Dapat dibuat langsung melalui antarmuka pengguna.
    • Telah memisahkan data aplikasi tetapi berbagi beberapa pengaturan seluruh sistem. Misalnya Wi-Fi dan Bluetooth.

Peringatan

Pengecualian berikut berlaku untuk pengguna sistem tanpa kepala dan Pengguna reguler (sekunder) di Otomotif:

  • Pengguna sistem tanpa kepala tidak mendukung profil kerja.
  • Secara default, pengguna reguler (sekunder) memiliki akses penuh ke panggilan telepon dan SMS.
  • Secara default, pengguna reguler (sekunder) tidak berjalan di latar belakang.

Mengaktifkan pengguna sistem tanpa kepala

Mulai Android 10, fitur multi-pengguna dapat digunakan untuk kasus penggunaan otomotif. Perbedaan penting meliputi:

  • Pengguna sistem tidak memiliki kepala dan hanya berjalan di latar belakang.
  • Pengguna manusia tidak berinteraksi dengan pengguna sistem.

Untuk mengaktifkan pengguna sistem tanpa kepala, produsen perangkat harus mengaktifkan multi-pengguna seperti dijelaskan di atas.

Saat pengguna tanpa kepala diaktifkan:
  1. Untuk mendeklarasikan perangkat sebagai Otomotif, tambahkan fitur android.hardware.type.automotive .
  2. Setel ro.fw.headless_system_user ke true .
  3. Tetapkan nilai untuk config_multiuserMaximumUsers ke 2 (atau lebih tinggi).

Untuk informasi selengkapnya, lihat Dukungan Multi-Pengguna di Otomotif.

Multi-pengguna Android Automotive di beberapa layar

Fitur eksperimental baru di Android 14 memungkinkan pengguna sekunder penuh (yang bukan pengguna latar depan saat ini) meluncurkan aktivitas dan mendapatkan akses ke UI pada tampilan yang ditugaskan kepada mereka. Fitur ini memungkinkan beberapa pengguna secara bersamaan di Android Automotive OS untuk mendukung pengalaman dalam mobil yang memberikan pengalaman UI khusus kepada banyak penumpang dalam satu instance Android.

Untuk mengaktifkan fitur ini untuk penggunaan pengembangan, produsen perangkat harus menentukan hamparan sumber daya untuk menggantikan nilai berikut di 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>

Anda dapat bereksperimen dengan pengalaman penumpang saja (tanpa pengemudi) dengan mengaktifkan konfigurasi tambahan berikut:

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

Di Android 14, Anda dapat mengaktifkan pengalaman dalam mobil untuk beberapa penumpang sebagai pengguna tamu. Untuk mengaktifkan beberapa pengguna tamu untuk penggunaan pengembangan, produsen perangkat harus menentukan hamparan sumber daya yang mengonfigurasi jumlah maksimum pengguna tamu yang diperbolehkan dalam frameworks/base/core/res/res/xml/config_user_types.xml , seperti contoh di bawah:

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