Run Intent Devicepolicymanager.action_add_device_admin From A Service
I have a service and I want the service promote to enable it as Device Admin, until now I launched this kind of UI interactions from the service like Intent intent2 = new Inte
Solution 1:
The reason is on the code of the Android DeviceAdminAdd class itself:
if ((getIntent().getFlags()&Intent.FLAG_ACTIVITY_NEW_TASK) != 0) {
Log.w(TAG, "Cannot start ADD_DEVICE_ADMIN as a new task");
finish();
return;
}
You should consider using another activity to call the DevicePolicyManager.
Solution 2:
I've just fixed such issue for myself.
Note, that you need to put this code inside parent in Android Manifest.xml file:
<receiverandroid:name=".ScreenLockerDeviceAdminReceiver"android:permission="android.permission.BIND_DEVICE_ADMIN" ><meta-dataandroid:name="android.app.device_admin"android:resource="@xml/device_admin_policies" /><intent-filter><actionandroid:name="android.app.action.DEVICE_ADMIN_ENABLED" /></intent-filter></receiver>
and it works :)
Solution 3:
You don't even need to popup security setting's device admin UI. Here is a way to do it pragmatically:
Runtime.getRuntime("dpm set-device-admin --user 0 com.mydeviceadmin/.deviceAdminReceiver")
where receiver needs to be define in manifest as described in android developer guide: Device administration overview
Tested with android 6.0
David
Post a Comment for "Run Intent Devicepolicymanager.action_add_device_admin From A Service"