2016-10-20 41 views
9

Android 5.0 (API cấp 21) cho phép các doanh nghiệp thiết lập hồ sơ được quản lý. Nếu thiết bị có cấu hình được quản lý, cài đặt của hồ sơ sẽ nằm dưới sự kiểm soát của quản trị viên doanh nghiệp. Quản trị viên có thể chọn ứng dụng nào được phép cho cấu hình đó và có thể kiểm soát những tính năng thiết bị có sẵn cho cấu hình.Cách phân biệt ứng dụng Android đang chạy trong hồ sơ được quản lý và cấu hình thông thường?

Giả sử chúng tôi có ứng dụng trong Google Play Market và một số khách hàng có thể cài đặt ứng dụng thông qua Hồ sơ quản lý thiết bị di động. Làm cách nào để phân biệt theo chương trình giữa các phiên bản ứng dụng đó? Nói cách khác, làm thế nào để đảm bảo rằng phiên bản ứng dụng cụ thể được quản lý bởi quản trị viên doanh nghiệp (nằm trong hồ sơ công việc)? Cảm ơn trước.

+2

Giả sử rằng hồ sơ công việc có một số hạn chế, ít nhất một, sử dụng 'UserManager' để kiểm tra xem hồ sơ hiện có những hạn chế. –

Trả lời

2

Bạn có thể thử một cái gì đó như:

final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE); 
    if (um.hasUserRestriction("WORK_PROFILE_RESTRICTION")) { 
     System.out.print("it is work profile"); 
    } else { 
     System.out.print("it isn't work profile"); 
    } 
+1

Xin chào, @Dẫn và cảm ơn câu trả lời. Vấn đề là nếu admin không thiết lập giá trị - bạn sẽ nhận được false mặc dù ứng dụng nằm trong hồ sơ được quản lý. Câu trả lời này là một nửa đúng, bạn chắc chắn có thể nói rằng bạn đang được quản lý hồ sơ nếu bạn đang nhận được sự thật, nhưng nếu bạn đang nhận được sai, bạn có thể kết thúc với sai âm tính. –

+0

Có lẽ bạn nên yêu cầu quản trị viên làm những việc theo cách đó? Nó chỉ không rõ ràng từ câu hỏi của bạn mà bạn không có quyền truy cập vào quản trị. – Divers

+0

Tôi chỉ cung cấp ứng dụng. Có thể có một số EMM khác nhau ở phía máy chủ và nhiều quản trị viên –

Các vấn đề liên quan