2012-10-28 12 views
10

Uygulamamı, Aygıt Yöneticisi'nden kaldırmak için uygulamanıza bir düğme eklemeye çalışıyorum ve aşağıdaki kodu kullanıyorum ancak uygulamanız çöküyor.Android: Uygulamamı, Cihaz Yöneticisi'nden programlı olarak kaldırılsın mı?

Kodu: -

Düğme Tıklamasında: - Yukarıdaki kodda

{ 
    ComponentName devAdminReceiver = new ComponentName(this, DemoDeviceAdminReceiver.class); 
    DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 
    dpm.removeActiveAdmin(devAdminReceiver); 
} 

, DemoDeviceAdminReceiver DeviceAdminReceiver genişleten bir sınıftır.

Hata günlüğü: -:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 
mDPM.removeActiveAdmin(mDeviceAdminReceiver); 

Ama AndroidManifest.xml alıcıya bu filtreler eklemek gerekir:

10-28 15:26:09.295: E/AndroidRuntime(26101): FATAL EXCEPTION: main 
10-28 15:26:09.295: E/AndroidRuntime(26101): java.lang.IllegalArgumentException: Unknown admin: ComponentInfo{com.dragonnis.intellicover/com.dragonnis.intellicover.DemoDeviceAdminReceiver} 
10-28 15:26:09.295: E/AndroidRuntime(26101): at android.os.Parcel.readException(Parcel.java:1331) 
10-28 15:26:09.295: E/AndroidRuntime(26101): at android.os.Parcel.readException(Parcel.java:1281) 
10-28 15:26:09.295: E/AndroidRuntime(26101): at android.app.admin.IDevicePolicyManager$Stub$Proxy.removeActiveAdmin(IDevicePolicyManager.java:2940) 
10-28 15:26:09.295: E/AndroidRuntime(26101): at android.app.admin.DevicePolicyManager.removeActiveAdmin(DevicePolicyManager.java:183) 

cevap

14

O senin gibi var

<intent-filter> 
     <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> 
     <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" /> 
    </intent-filter> 


@Override 
public CharSequence onDisableRequested(Context context, Intent intent) { 
    return "Admin rights are beeing requested to be disabled for the app called: '" + context.getString(R.string.app_name) + "'."; 
} 
+0

İzin ver yardım ederse bilin. – ViliusK

+0

Hızlı yanıt için teşekkürler. Amaç filtreleri, AndroidManifest.xml dosyasında zaten mevcut. Cihaz yöneticisi iyi durumda ancak etkin olmaya çalışıyor ancak kilitlemeye neden oluyor. –

+0

Oh, düzeltildi. Sorun DeviceAdminReceiver sınıfı ile yapıldı. Cihaz yöneticisini etkinleştirmek için ayrı bir sınıf kullanıyordum ancak onu kaldırmaya çalıştığımda farklı bir DeviceAdminReceiver kullanıyordum. Aptal ben. Yardım ettiğin için teşekkür ederim. –

İlgili konular