10
Próbuję dodać przycisk do mojej aplikacji, aby usunąć go z Administratora urządzenia i używam poniższego kodu, ale moja aplikacja po prostu zawiesza się.Android: Programowo usunąć moją aplikację od administratora urządzenia?
Code: -
w przycisk kliknij: -
{
ComponentName devAdminReceiver = new ComponentName(this, DemoDeviceAdminReceiver.class);
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
dpm.removeActiveAdmin(devAdminReceiver);
}
W powyższym kodzie, DemoDeviceAdminReceiver jest klasa, która rozszerza DeviceAdminReceiver. log
Błąd: -
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)
Niech mnie wiem, czy to pomaga. – ViliusK
Dzięki za szybką reakcję. Filtry zamiaru są już obecne w pliku AndroidManifest.xml. Administrator urządzenia jest włączony, ale próba usunięcia nadal powoduje awarię. –
Och, naprawiłem to. Problem dotyczył klasy DeviceAdminReceiver. Używałem osobnej klasy, aby włączyć administratora urządzenia, ale gdy próbowałem go usunąć, korzystałem z innego DeviceAdminReceiver, który nie był nawet włączony jako administrator urządzenia. Głupi ja. Dzięki za pomoc. –