Подтвердить что ты не робот

Как разблокировать телефон Android через код удаленно

Я написал приложение, которое удаляет Android-телефон удаленно. То есть, когда специальный код отправляется с сервера, тогда приложение блокирует телефон на основе специального кода. Это код, который я использую.

if (!mDPM.isAdminActive(mDeviceAdminSample)) {
        // try to become active – must happen here in this activity, to get result
        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"Admin is added to do security operation.");
        startActivityForResult(intent, 0);
        } else {
        // Already is a device administrator, can do security operations now.
        mDPM.lockNow();
        }

Приведенный выше код работает и блокирует телефон.

Я могу разблокировать телефон, введя пароль с мягкой клавиатуры. Есть ли способ разблокировать его с помощью кода?

Мой вопрос заключается в том, как разблокировать телефон с помощью кода. (Эта разблокировка должна выполняться удаленно, как я объяснил для блокировки)

4b9b3361

Ответ 1

Я считаю, что вы не можете переопределить встроенную блокировку экрана, если вы не создадите собственное устройство, такое как Samsung и HTC. Однако, если ваши клиенты используют ваше собственное приложение, подобное экрану, вы, вероятно, сможете достичь того, что вы пытаетесь сделать.

Ответ 2

Я не думаю, что ваша удаленная цель разблокирования достижима.

Как настроено Android, многие приложения могут иметь привилегии администратора устройства, и любой Администратор устройства может выдавать команду блокировки, но разблокировка должна выполняться от пользователя.

Я могу предложить вам упростить это: ваше приложение может попытаться удалить пароль блокировки клавиатуры, а затем пользователь может использовать устройство без кода, просто скользя пальцем по экрану.

Теперь есть то, что я предложил, если ваше приложение не является единственным администратором устройства. В этом случае какое-то другое приложение-администратор может установить минимальную длину пароля (или какое-то другое ограничение пароля), которое не позволит вашему приложению освободить пароль блокировки экрана.

Если ваша цель - помочь пользователю забыть пароль блокировки экрана, тогда ваш сервер может изобрести новый пароль, проинформировать пользователя о том, что новый пароль, а также отправить новый пароль вашему приложению и вашему приложению может применить пароль. Затем пользователь может разблокировать телефон. Не волнуйтесь, это не так сложно, как кажется.

Ответ 3

Извините, что написал - Невозможно разблокировать телефон из кода. Если вы найдете какой-либо способ сделать это - никаких гарантий для работы. Таким образом, нет возможности дистанционной разблокировки, записи пользовательских экранов блокировки и т.д.

Ответ 5

попробуйте это

KeyguardManager manager = (KeyguardManager)context.getSystemService(KEYGUARD_SERVICE);
kl = manager.newKeyguardLock("my-remote-app");
kl.disableKeyguard();

//для повторного включения блокировки клавиатуры при выходе (если вам нужно)

onDestroy() {
kl.reenableKeyguard();
}

это работает <= ICS. Это устаревший api, они предложили вам использовать флаги WindowManager для аналогичного эффекта. Хотя я не смог создать аналогичный эффект, используя WindowManger.

Надеюсь, что это поможет,

Ответ 6

Обратите внимание, что я не разработчик Android, но:

Если вы посмотрите на это, похоже, вы можете попросить WindowManager отклонить ключ защиты, если у вас есть правильное разрешение, даже если вы находитесь в режиме "надежной блокировки".

Ответ 7

Как мне известно, мы не можем разблокировать защищенный паролем телефон программно.

Ответ 8

Одним из решений было бы написать "custom lockscreen". Конечно, это не самый простой способ, но он будет работать так, как вы можете делать все, что захотите, с помощью собственного lockscreen. Если вы рассматриваете это решение, не стесняйтесь обращаться ко мне, я дам вам полезные ссылки. Ура!