Chuyển đổi người dùng hiện tại sang hồ sơ hạn chế


10

Với Android 4.3 có một tính năng mới, hồ sơ hạn chế . Nó cho phép tạo người dùng "bị hạn chế" đặc biệt mới mà người dùng quản trị có thể kiểm soát quyền truy cập vào ứng dụng.

Tuy nhiên, ngoài người dùng quản trị viên của riêng tôi, tôi đã có một người dùng thứ cấp cho con tôi, nơi có tất cả dữ liệu cụ thể của người dùng, chẳng hạn như các trò chơi đã lưu. Nếu tôi tạo một hồ sơ hạn chế mới, những cái đó sẽ bị mất.

Làm cách nào tôi có thể chuyển đổi người dùng (phụ) hiện tại sang cấu hình bị hạn chế?

Lưu ý cho người quan tâm: Tính năng cấu hình bị hạn chế không cung cấp một khối truy cập an toàn hoàn chỉnh, nhưng nó hoạt động tốt như một sự cản trở và ngăn chặn những sai lầm vô tình - điều xảy ra là điều tôi quan tâm.


Tài khoản thứ hai của bạn là người dùng, không phải hồ sơ, phải không?
geffchang

Bạn đang đề cập đến thiết bị nào, IIRC, nhiều người dùng chỉ giới hạn trong máy tính bảng ?
t0mm13b

Thiết bị này là Nexus 10, một máy tính bảng Android có hệ điều hành Android vanilla.
Ilari Kajaste

1
@geffchang Có, một người dùng. Tôi đã nhầm lẫn giữa hai khái niệm. Bây giờ tôi đã xóa các thuật ngữ của câu hỏi (và xóa câu trả lời trước đó của tôi).
Ilari Kajaste

Tôi rất vui vì bạn đã có thể phân biệt giữa người dùng và hồ sơ. Tuy nhiên, bạn có một trường hợp (kinh doanh) thú vị. Nếu bạn báo cáo nó cho các kênh hỗ trợ của Google, có thể họ có thể hỗ trợ nó trong tương lai (ít nhất là để chuyển dữ liệu hiện tại sang một cấu hình mới).
geffchang

Câu trả lời:


6

Cho đến thời điểm này, không thể chuyển đổi người dùng thành hồ sơ.

Tuy nhiên, bạn có thể tạo một hồ sơ dựa trên người dùng hiện có. Nhược điểm: Vì một hồ sơ không có tài khoản Google được liên kết với nó, nên họ không thể có ứng dụng GMail. Và như bạn đã đề cập, họ cũng sẽ mất những dữ liệu cụ thể của người dùng đó.

CẬP NHẬT # 1: Từ Android.com , nó nói rằng một hồ sơ bị hạn chế là một tập hợp con của tài khoản người dùng. Đó là sử dụng cùng một tài khoản người dùng, mặc dù bị hạn chế. Vì vậy, hồ sơ khá khác với Người dùng, nơi nó được liên kết với một tài khoản Google khác.

Mỗi cấu hình bị hạn chế cung cấp một không gian riêng biệt và an toàn với bộ nhớ cục bộ, màn hình chính, vật dụng và cài đặt riêng. Không giống như người dùng, hồ sơ được tạo từ môi trường của chủ sở hữu máy tính bảng, dựa trên các ứng dụng và tài khoản hệ thống đã cài đặt của chủ sở hữu . Chủ sở hữu kiểm soát các ứng dụng đã cài đặt được bật trong cấu hình mới và quyền truy cập vào tài khoản của chủ sở hữu bị tắt theo mặc định.


Tôi đã sợ như vậy. Bất kỳ tài liệu tham khảo cho điều này? Bạn có chắc chắn không có hackaround để làm điều này, mặc dù nó không được hỗ trợ trực tiếp?
Ilari Kajaste

@IlariKajaste Dựa trên những gì tôi đã đọc trên What New , người dùng và hồ sơ thực sự là những thực thể khác nhau. Một hồ sơ là một tập hợp con của người dùng, trong khi người dùng giống như bất kỳ người dùng thông thường nào.
geffchang

@IlariKajaste Từ những gì tôi đã đọc ở XDA, không có cách nào để chuyển đổi người dùng thành hồ sơ.
geffchang

@IlariKajaste Tôi đã thêm Cập nhật # 1 vào câu trả lời của mình.
geffchang

Cảm ơn, đó là thông tin rất thú vị! Tôi tự hỏi nếu có một cách đơn giản để chuyển dữ liệu và cài đặt ứng dụng từ tài khoản người dùng sang hồ sơ hạn chế. Tôi đoán ít nhất dữ liệu ứng dụng nên có thể bằng cách sử dụng một số ứng dụng sao lưu, như Titanium ...
Ilari Kajaste

4

Thay đổi hệ thống gốc trong tệp xml cho người dùng trong / data / system / users / flags từ 16 đến 24 Ví dụ:

user id = "11" serialNumber = "13" flags = "24" created = "1373565328127" lastLoggedIn = "1376779161829" icon = "/ data / system / users / 11 / photo.png"

Dưới đây là các hằng https://android.googlesource.com/pl platform / frameworks / base.git / + / and4-4.2.2_r1 / core / java / android / content / pm /UserInfo.java

/**
 * Primary user. Only one user can have this flag set. Meaning of this
 * flag TBD.
 */
public static final int FLAG_PRIMARY = 0x00000001;

/**
 * User with administrative privileges. Such a user can create and
 * delete users.
 */
public static final int FLAG_ADMIN   = 0x00000002;

/**
 * Indicates a guest user that may be transient.
 */
public static final int FLAG_GUEST   = 0x00000004;

/**
 * Indicates the user has restrictions in privileges, in addition to those for normal users.
 * Exact meaning TBD. For instance, maybe they can't install apps or administer WiFi access pts.
 */
public static final int FLAG_RESTRICTED = 0x00000008;

/**
 * Indicates that this user has gone through its first-time initialization.
 */
public static final int FLAG_INITIALIZED = 0x00000010;

Tiếng Anh

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.