10
Sto provando ad aggiungere un pulsante alla mia app per rimuoverlo da Device Administrator e sto usando il codice qui sotto, ma la mia app si blocca.Android: rimuovi la mia app da Device Administrator a livello di programmazione?
Codice: -
On Button Click: -
{
ComponentName devAdminReceiver = new ComponentName(this, DemoDeviceAdminReceiver.class);
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
dpm.removeActiveAdmin(devAdminReceiver);
}
Nel codice precedente, DemoDeviceAdminReceiver è una classe che estende DeviceAdminReceiver. log
Errore: -
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)
Lasciatemi sapere se aiuta – ViliusK
Grazie per la risposta veloce. I filtri di intent sono già presenti nel file AndroidManifest.xml. L'amministratore del dispositivo è abilitato, ma provare a rimuovere causa ancora l'arresto anomalo. –
Oh, risolto. Il problema era con la classe DeviceAdminReceiver. Stavo usando una classe separata per abilitare l'amministratore del dispositivo, ma quando ho provato a rimuoverlo stavo usando un diverso DeviceAdminReceiver che non era nemmeno abilitato come amministratore del dispositivo. Silly me. Grazie per l'aiuto. –