Я использую следующий код для успешной активации администратора устройства.
public static void goToActivateDeviceAdmin(Context context, ComponentName admin)
{
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, admin);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, Html.fromHtml(context.getString(R.string.admin_explain)));
intent.putExtra("lock", true); // TODO cannot pass custom extras
context.startActivity(intent);
}
И код для DeviceAdminReceiver:
public static class AdminReceiver extends DeviceAdminReceiver
{
@Override
public void onEnabled(Context context, Intent intent)
{
if (intent.getBooleanExtra("lock", false)) // TODO cannot receive extra
((DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE)).lockNow();
}
}
В приемнике я ожидаю получить значение true для дополнительной блокировки,но это всегда ложьИтак, как я могу передать пользовательские дополнения в DeviceAdminReceiver?Заранее спасибо.