2016-10-20 16 views
9

Android 5.0 (poziom API 21) umożliwia przedsiębiorstwom konfigurowanie profili zarządzanych. Jeśli urządzenie ma profil zarządzany, ustawienia profilu są pod kontrolą administratora przedsiębiorstwa. Administrator może wybrać, które aplikacje są dozwolone dla tego profilu i może kontrolować, jakie funkcje urządzenia są dostępne dla profilu.Jak odróżnić aplikację Android działającą pod zarządzanym profilem od zwykłego profilu?

Załóżmy, że mamy aplikację na rynku Google Play, a także niektórzy klienci mogą zainstalować aplikację za pośrednictwem profilu zarządzania urządzeniami mobilnymi. Jak odróżnić programowo między tymi wersjami aplikacji? Innymi słowy, w jaki sposób zapewnić, że konkretna wersja aplikacji jest zarządzana przez administratora przedsiębiorstwa (znajdującego się w profilu do pracy)? Z góry dziękuję.

+2

Zakładając, że profil pracy ma pewne ograniczenia, co najmniej jeden, użyć 'UserManager' aby sprawdzić, czy bieżący profil ma ograniczeń. –

Odpowiedz

2

Można spróbować czegoś takiego:

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

Witam, @Divers i dziękuję za odpowiedź. Problem polega na tym, że jeśli administrator nie ustawił wartości - otrzymasz wartość false, mimo że aplikacja jest zarządzana przez profil. Ta odpowiedź jest w połowie słuszna, możesz zdecydowanie powiedzieć, że jesteś pod kierowanym profilem, jeśli się to zgadza, ale jeśli otrzymujesz fałsz, możesz otrzymać fałszywy wynik negatywny. –

+0

Prawdopodobnie powinieneś poprosić administratora, aby zrobił rzeczy w ten sposób? Z twojego pytania nie wynika jasno, że nie masz dostępu do administracji. – Divers

+0

Podaję tylko aplikację. Może istnieć kilka różnych EMM po stronie serwera i wielu adminów –

Powiązane problemy