Android hỗ trợ nhiều người dùng trên một thiết bị Android bằng cách tách tài khoản người dùng và dữ liệu ứng dụng. Ví dụ: cha mẹ có thể cho phép con cái sử dụng máy tính bảng của gia đình, một gia đình có thể dùng chung ô tô hoặc nhóm phản ứng quan trọng có thể dùng chung thiết bị di động để thực hiện nhiệm vụ.
Thuật ngữ
Android sử dụng các điều khoản sau khi mô tả người dùng và tài khoản Android.
Chung
Quản lý thiết bị Android sử dụng các điều khoản chung sau đây.
- Người dùng . Mỗi người dùng được sử dụng bởi một thể chất khác nhau. Mỗi người dùng có dữ liệu ứng dụng riêng biệt và một số cài đặt duy nhất, cũng như giao diện người dùng để chuyển đổi rõ ràng giữa những người dùng. Một người dùng có thể chạy trong nền khi một người dùng khác đang hoạt động; hệ thống quản lý việc tắt người dùng để bảo tồn tài nguyên khi thích hợp. Người dùng thứ cấp có thể được tạo trực tiếp thông qua giao diện người dùng hoặc từ ứng dụng Quản trị thiết bị .
- Tài khoản . Tài khoản được chứa bên trong một người dùng nhưng không được xác định bởi người dùng, cũng như không được người dùng xác định hoặc được liên kết với bất kỳ tài khoản nhất định nào. Người dùng và hồ sơ chứa các tài khoản duy nhất của riêng họ nhưng không bắt buộc phải có tài khoản để hoạt động. Danh sách các tài khoản khác nhau tùy theo người dùng. Để biết chi tiết, hãy tham khảo định nghĩa lớp Tài khoản .
- Hồ sơ . Một cấu hình có dữ liệu ứng dụng riêng biệt nhưng chia sẻ một số cài đặt trên toàn hệ thống (ví dụ: Wi-Fi và Bluetooth). Hồ sơ là một tập hợp con và gắn liền với sự tồn tại của người dùng. Một người dùng có thể có nhiều hồ sơ. Hồ sơ được tạo thông qua ứng dụng Quản trị thiết bị . Hồ sơ luôn có một liên kết bất biến với người dùng chính, được xác định bởi người dùng đã tạo hồ sơ. Hồ sơ không tồn tại ngoài thời gian tồn tại của người dùng tạo.
- Ứng dụng . Dữ liệu của một ứng dụng tồn tại trong mỗi người dùng được liên kết. Dữ liệu ứng dụng được hộp cát từ các ứng dụng khác trong cùng một người dùng. Các ứng dụng trong cùng một người dùng có thể tương tác với nhau qua IPC. Để biết chi tiết, hãy tham khảo Android dành cho doanh nghiệp .
Danh mục người dùng
Quản trị thiết bị Android sử dụng các danh mục người dùng sau.
- Người dùng hệ thống . Người dùng đầu tiên được thêm vào một thiết bị. Không thể xóa người dùng hệ thống ngoại trừ bằng cách khôi phục cài đặt gốc và luôn chạy ngay cả khi những người dùng khác ở phía trước. Người dùng này cũng có các đặc quyền và cài đặt đặc biệt mà chỉ họ mới có thể thiết lập.
- Người dùng thứ cấp . Bất kỳ người dùng nào được thêm vào thiết bị không phải là người dùng hệ thống. Người dùng thứ cấp có thể bị xóa (bởi chính họ hoặc bởi người dùng quản trị) và không thể tác động đến những người dùng khác trên thiết bị. Những người dùng này có thể chạy ở chế độ nền và tiếp tục có kết nối mạng.
- Người dùng khách . Người dùng thứ cấp tạm thời. Người dùng khách có một tùy chọn rõ ràng để nhanh chóng xóa người dùng khách khi tính hữu dụng của nó hết. Chỉ có thể có một người dùng khách tại một thời điểm.
- Người dùng quản trị . Người dùng có quyền tạo và xóa người dùng khác, cũng như kiểm soát một số cài đặt chung cho nhiều người dùng. Theo mặc định, chỉ người dùng hệ thống là quản trị viên.
Các loại hồ sơ
Quản trị thiết bị Android sử dụng các danh mục cấu hình sau.
- Hồ sơ được quản lý . Được tạo bởi một ứng dụng để chứa dữ liệu công việc và ứng dụng. Chúng được quản lý độc quyền bởi chủ sở hữu hồ sơ (ứng dụng đã tạo hồ sơ công ty). Trình khởi chạy, thông báo và các tác vụ gần đây được chia sẻ bởi người dùng chính và hồ sơ công ty.
- Hồ sơ hạn chế . Sử dụng tài khoản dựa trên người dùng chính, người có thể kiểm soát những ứng dụng nào có sẵn trên hồ sơ bị hạn chế. Chỉ có sẵn trên máy tính bảng và thiết bị truyền hình.
Các loại người dùng
Android 11 đã xây dựng cách phân loại người dùng và hồ sơ ở trên thành các kiểu người dùng được xác định rõ ràng, đại diện cho tất cả các kiểu người dùng và hồ sơ khác nhau được tính năng Đa người dùng của Android cho phép.
Các kiểu người dùng AOSP được xác định trước được xác định trong frameworks/base/core/java/android/os/UserManager.java
và hiện bao gồm:
-
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
OEM có khả năng định cấu hình các kiểu người dùng này bằng cách chồng lên tệp frameworks/base/core/res/res/xml/config_user_types.xml
. Điều này tạo điều kiện thuận lợi cho việc thay đổi cấu hình mặc định cho từng loại người dùng, bao gồm các hạn chế mặc định, biểu tượng, huy hiệu và số lượng người dùng được phép tối đa.
Ngoài các kiểu người dùng AOSP có thể định cấu hình, OEM có thể xác định các kiểu cấu hình mới bằng cách sử dụng tệp frameworks/base/core/res/res/xml/config_user_types.xml
. Điều này cho phép các OEM giới thiệu các loại hồ sơ không được quản lý của riêng họ nếu muốn. Tuy nhiên, OEM có trách nhiệm thực hiện các sửa đổi nền tảng theo yêu cầu để hỗ trợ các thay đổi, bao gồm sửa đổi bất kỳ mã nào kiểm tra các cấu hình được quản lý để hiện xử lý loại cấu hình mới nếu thích hợp.
Cho phép nhiều người dùng
Kể từ Android 5.0, tính năng nhiều người dùng bị tắt theo mặc định. Để bật tính năng này, các nhà sản xuất thiết bị phải xác định lớp phủ tài nguyên thay thế các giá trị sau trong 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>
Để áp dụng lớp phủ này và cho phép khách và người dùng phụ trên thiết bị, hãy sử dụng tính năng DEVICE_PACKAGE_OVERLAYS
của hệ thống xây dựng Android để thay thế các giá trị cho:
-
config_multiuserMaximumUsers
có giá trị lớn hơn1
-
config_enableMultiUserUI
vớitrue
Các nhà sản xuất thiết bị có thể quyết định số lượng người dùng tối đa. Nếu các nhà sản xuất thiết bị hoặc những người khác đã sửa đổi cài đặt, họ phải đảm bảo SMS và điện thoại hoạt động như được định nghĩa trong Tài liệu Định nghĩa Tương thích Android (CDD).
Quản lý nhiều người dùng
Việc quản lý người dùng và hồ sơ (ngoại trừ hồ sơ bị hạn chế) được thực hiện bởi các ứng dụng gọi API theo chương trình trong lớp DevicePolicyManager
để hạn chế sử dụng.
Trường học và doanh nghiệp có thể sử dụng người dùng và hồ sơ để quản lý thời gian tồn tại và phạm vi của ứng dụng và dữ liệu trên thiết bị, sử dụng các loại được nêu ở trên kết hợp với API UserManager để xây dựng các giải pháp độc đáo phù hợp với các trường hợp sử dụng của họ.
Hành vi hệ thống nhiều người dùng
Khi người dùng được thêm vào thiết bị, một số chức năng sẽ bị cắt khi người dùng khác ở nền trước. Vì dữ liệu ứng dụng được phân tách theo người dùng nên trạng thái của các ứng dụng đó sẽ khác nhau tùy theo người dùng. Ví dụ: email dành cho tài khoản của người dùng hiện không được chú trọng sẽ không khả dụng cho đến khi người dùng và tài khoản đó hoạt động trên thiết bị.
Theo mặc định, chỉ người dùng hệ thống mới có toàn quyền truy cập vào các cuộc gọi điện thoại và tin nhắn văn bản. Người dùng phụ có thể nhận cuộc gọi đến nhưng không thể gửi hoặc nhận tin nhắn. Người dùng quản trị phải bật các chức năng này cho những người khác.
Lưu ý : Để bật hoặc tắt chức năng điện thoại và SMS cho người dùng phụ, hãy đi tới Cài đặt> Người dùng , chọn người dùng và chuyển cài đặt Cho phép cuộc gọi điện thoại và SMS thành tắt.
Một số hạn chế tồn tại khi người dùng phụ ở chế độ nền. Ví dụ: người dùng phụ trong nền không thể hiển thị giao diện người dùng hoặc kích hoạt các dịch vụ Bluetooth. Ngoài ra, quy trình hệ thống sẽ tạm dừng người dùng thứ cấp trong nền nếu thiết bị cần thêm bộ nhớ cho các hoạt động ở người dùng nền.
Khi sử dụng nhiều người dùng trên thiết bị Android, hãy ghi nhớ hành vi sau:
- Thông báo xuất hiện cho tất cả các tài khoản của một người dùng cùng một lúc.
- Thông báo cho những người dùng khác sẽ không xuất hiện cho đến khi hoạt động.
- Mỗi người dùng có một không gian làm việc để cài đặt và đặt ứng dụng.
- Không người dùng nào có quyền truy cập vào dữ liệu ứng dụng của người dùng khác.
- Bất kỳ người dùng nào cũng có thể ảnh hưởng đến các ứng dụng đã cài đặt cho tất cả người dùng.
- Người dùng quản trị có thể xóa ứng dụng hoặc thậm chí toàn bộ không gian làm việc do người dùng phụ thiết lập.
Android 7.0 bao gồm một số cải tiến, bao gồm:
- Chuyển đổi hồ sơ công việc . Người dùng có thể vô hiệu hóa hồ sơ được quản lý của họ (chẳng hạn như khi không ở nơi làm việc). Chức năng này đạt được bằng cách dừng người dùng; UserManagerService gọi
ActivityManagerNative#stopUser()
. - VPN luôn bật . Các ứng dụng VPN hiện có thể được người dùng đặt thành luôn bật, DPC thiết bị hoặc DPC hồ sơ được quản lý (chỉ áp dụng cho các ứng dụng Hồ sơ được quản lý). Khi được bật, các ứng dụng không thể truy cập mạng công cộng (quyền truy cập vào tài nguyên mạng bị dừng cho đến khi VPN được kết nối và các kết nối có thể được định tuyến qua mạng đó). Các thiết bị báo cáo
device_admin
phải triển khai VPN luôn bật.
Để biết thêm chi tiết về các tính năng quản trị thiết bị Android 7.0, hãy tham khảo Android for Work .
Nhiều người dùng trên ô tô Android
Android Automotive dựa trên việc triển khai nhiều người dùng của Android để cung cấp trải nghiệm thiết bị được chia sẻ.
Các loại người dùng ô tô
Ngoài các kiểu người dùng được liệt kê ở trên, các phiên bản dành cho Ô tô đáng chú ý đối với những kiểu người dùng sau:
- Người dùng hệ thống không đầu. Người sử dụng hệ thống lưu trữ tất cả các dịch vụ hệ thống. Để hỗ trợ nhiều người dùng trên Ô tô, người dùng hệ thống cũng phải không có đầu . Chỉ có một người dùng không đầu. Một người dùng hệ thống không đầu:
- Phải luôn chạy ở chế độ nền.
- Không thể bị xóa hoặc truy cập trực tiếp bởi người dùng ngoại trừ trường hợp Cấp phép thiết bị. Ví dụ: người dùng không thể chuyển sang Loại người dùng này để thực hiện các tác vụ như tải xuống ứng dụng hoặc thêm tài khoản.
- Chỉ có thể được xóa bằng cách khôi phục cài đặt gốc.
- Người dùng thường xuyên. Giống như Người dùng phụ , được mô tả ở trên, ngoại trừ người dùng thứ cấp:
- Không chạy trong nền (sau khi đã được chuyển khỏi).
- Có thể được tạo trực tiếp thông qua giao diện người dùng.
- Có dữ liệu ứng dụng riêng biệt nhưng chia sẻ một số cài đặt trên toàn hệ thống. Ví dụ: Wi-Fi và Bluetooth.
Cảnh báo
Các trường hợp ngoại lệ sau áp dụng cho người dùng hệ thống không đầu và người dùng thông thường (phụ) trong Ô tô:
- Người dùng hệ thống không có đầu không hỗ trợ hồ sơ công việc.
- Theo mặc định, người dùng thông thường (phụ) có toàn quyền truy cập vào các cuộc gọi điện thoại và tin nhắn.
- Theo mặc định, người dùng thông thường (phụ) không chạy ở chế độ nền.
Cho phép người dùng hệ thống không đầu
Kể từ Android 10, tính năng đa người dùng có thể được sử dụng cho các trường hợp sử dụng trên ô tô. Những điểm khác biệt quan trọng bao gồm:
- Người dùng hệ thống không có đầu và chỉ chạy ở chế độ nền.
- Người dùng con người không tương tác với người dùng hệ thống.
Để cho phép người dùng hệ thống không cần đầu, nhà sản xuất thiết bị phải kích hoạt nhiều người dùng như mô tả ở trên.
Khi người dùng không đầu được bật:- Để khai báo thiết bị là Ô tô, hãy thêm tính năng
android.hardware.type.automotive
. - Đặt
ro.fw.headless_system_user
thànhtrue
. - Đặt giá trị cho
config_multiuserMaximumUsers
thành2
(hoặc cao hơn).
Để biết thêm thông tin, hãy xem Hỗ trợ nhiều người dùng trong ô tô.