Android 如何向DeviceAdminReceiver传递额外信息?
我使用以下代码成功激活设备管理员Android 如何向DeviceAdminReceiver传递额外信息?,android,device-admin,Android,Device Admin,我使用以下代码成功激活设备管理员 public static void goToActivateDeviceAdmin(Context context, ComponentName admin) { Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, admin); i
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();
}
}
在接收器中,我希望得到锁额外的真实,但它总是假的。那么,我如何将定制的额外功能传递给DeviceAdminReceiver?提前谢谢
在接收器中,我希望得到锁额外的真实,但它总是假的
你在开始一项活动的意图
上添加了额外的内容。不会传输到任意其他意图
对象
那么,我如何将定制的额外功能传递给DeviceAdminReceiver
你不能。您需要以其他方式解决问题(例如,
SharedReferences
)。您可以使用DevicePolicyManager.EXTRA\u PROVISIONING\u ADMIN\u EXTRAS\u捆绑包传递包含您的值的PersistableBundle
然后,您可以在DeviceAdminReceiver子类的onProfileProvisioningComplete(context:context,intent:intent)中获取该值