2015-05-25 17 views
6

İş profilinde çalışıyorsa farklı davranması gereken bir uygulama oluşturuyorum.Android for work - Uygulamamın iş profilinde çalışıp çalışmadığını nasıl kontrol edebilirim?

Bunu bilmenin bir yolu var mı?

Bu belgede bununla ilgili bir şey yok ve zaten yalnızca iş profilinde kullanılabilen bir kısıtlama eklemeyi denedim ve işe yarıyor, ancak yöneticiden hiçbir işlem yapmadan bir çözüme ihtiyacım var. iş bilgisi için

Android: Android iş belgeleri için http://www.android.com/work/

: https://developer.android.com/training/enterprise/index.html

+0

Bir uygulamanın iş profilinde ne zaman çalıştığını tanımlamayı başardınız mı? –

+0

Ne yazık ki yok. Bir şey bulursan lütfen bana haber ver. –

cevap

8

ben bir çözüm buldum: isProfileOwnerApp bir paket adı için de geçerli dönerseniz, uygulamanızın (rozetli) olduğu anlamına gelir iş profili üzerinde çalışıyor. Uygulamanız normal modda çalışıyorsa (rozet yok) isProfileOwnerApp bir İş profili olsa bile tüm yöneticiler için yanlış döndürür.

DevicePolicyManager devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 
List<ComponentName> activeAdmins = devicePolicyManager.getActiveAdmins(); 
if (activeAdmins != null){ 
    for (ComponentName admin : activeAdmins){ 
     String packageName= admin.getPackageName(); 
     Log.d(TAG, "admin:"+packageName); 
     Log.d(TAG, "profile:"+ devicePolicyManager.isProfileOwnerApp(packageName)); 
     Log.d(TAG, "device:"+ devicePolicyManager.isDeviceOwnerApp(packageName)); 
    } 
} 
İlgili konular