2013-09-23 20 views
10

Nexus 7'yi 4.3 olarak güncelledim. Cihaz Kilitleme/Silme Cihaz Yöneticisi haklarını gerektiren bir uygulama var. Aygıt Profilini, Uygulamam Profili üzerinde doğrudan uygulamasına verdim. Başka bir kullanıcı profiline geçtiğimde, uygulamamı Cihaz Yöneticisi uygulamaları listesinde görebilirim. Ancak, bu sahipsiz kullanıcı profilinde bir Kilit komutu verdiğimde, özel durumu "java.lang.SecurityException: uid XXXXXX tarafından sahip olunan etkin yönetici yok" olarak alıyorum.Android 4.3 Sahip olmayan profil için DeviceAdmin hatası

DevicePolicyManager isActiveAdmin() yöntemi, bu profilde de doğru döner, yine de işlem yapmakta başarısız olur ve uygulamayı kilitler.

Aygıt yöneticisi bir kez Kullanıcı kullanıcı profili için ayarlandığında, onun otomatik olarak tüm diğer kullanıcı profillerine uygulandığını varsayalım. Herhangi bir fikir o zaman neden bu oluyor? Ayrıca, uygulamamın aygıt yöneticisi hakları gerektirmesi durumunda birden çok kullanıcı profili ele alması için uygulamamın ne kadar dikkat etmesi gerektiğine işaret eden herhangi bir belge var mı?

+1

"Aygıt yöneticisi bir kez Kullanıcı sahibi profili için ayarlandığında, otomatik olarak tüm diğer kullanıcı profillerine uygulandığını varsayalım - - Kesinlikle bunu kabul etmem. Diğer profillerin, özellikle de kısıtlı olanların, cihaz yöneticileriyle çalışma yeteneği olmadığını varsayabilirim. Bu alanda, bu alandaki herhangi bir belgenin farkında değilim. – CommonsWare

+0

Nexus 7'mdeki gözlemlere dayanarak söylediğim şey. DeviceAdmin'in aktivasyonunu diğer profillere zorla kontrol edip burada güncelleyeceğim. –

+0

Uygulamayı kaldırıp uygulamayı bu kullanıcı hesabına yeniden yüklemeyi ve ardından bir aygıt yöneticisi olarak ekleyip uygulamayı başlatmayı deneyin. – hichris123

cevap

8

Aygıt yöneticinize hangi yönetici ilkesinin uygulayıcısına uyduğunu kontrol ettiniz mi? beklenen davranış? İşte

android:label="@string/enterprise_device_admin" 
     android:permission="android.permission.BIND_DEVICE_ADMIN"> 
    android:resource="@xml/enterprise_device_admin" /> 

olarak

Set yönetici paramenters dosya device_admin_sample.xml için tipik bir içeriktir:

: Ayrıca değerinde çek olduğu Dahası adım adım talimatlarla birlikte okuma

<activity android:name=".app.DeviceAdminSample" 
     android:label="@string/activity_sample_device_admin"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.SAMPLE_CODE" /> 
    </intent-filter> 
</activity> 
<receiver android:name=".app.DeviceAdminSample$DeviceAdminSampleReceiver" 
    android:label="@string/sample_device_admin" 
    android:description="@string/sample_device_admin_description" 
    android:permission="android.permission.BIND_DEVICE_ADMIN"> 
    <meta-data android:name="android.app.device_admin" 
     android:resource="@xml/device_admin_sample" /> 
    <intent-filter> 
     <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> 
    </intent-filter> 
</receiver> 

İlgili konular