Пароль устройства в Android существует или нет - PullRequest
0 голосов
/ 06 июля 2011

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

case 1: Если пароль блокировки экрана уже есть ... Я бы сделал блокировку (locknow ()) с помощью диспетчера устройств и попросил бы пользователя снова войти в систему.

случай 2: если нет пароля блокировки экрана .... я бы попросил пользователя установить пароль с помощью класса devicepolicymanager.

Но я так и не смог узнать, как проверить, уже есть пароль блокировки экрана или нет.Есть ли какой-либо логический метод возврата в диспетчере устройств API? ... Я не смог ни один из таких

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

Это секретная вещь, которую разработчики приложений не могут найти?

Есть ли подход системного уровня?

Может ли менеджер политик устройств помочь мне получить эту информацию?

заранее спасибо

Ответы [ 4 ]

3 голосов
/ 10 сентября 2013
KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
if( keyguardManager.isKeyguardSecure()) {
   //it is password protected
} else {
   //it is not password protected 
}

Метод isKeyguardSecure () введен в API Level 16

0 голосов
/ 13 января 2016

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

Вы можете использовать метод isActivePasswordSufficient () в DevicePolicyManager, чтобы проверить текущее состояние пароля и доступность.

Подробнее см. http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isActivePasswordSufficient%28%29.

0 голосов
/ 20 апреля 2012

Попробуйте следующее:

dpm.setPasswordMinimumLength(new ComponentName(<package>, <class>), 0);

Log.d("Log", "Reset done: " + dpm.resetPassword("", 0)); // i.e. clear password
Log.d("Log", "Sufficient: " + dpm.isActivePasswordSufficient());

Log.d("Log", "Reset done: " + dpm.resetPassword("0000", 0));
Log.d("Log", "Sufficient: " + dpm.isActivePasswordSufficient());

// of device admin receiver
dpm.setPasswordMinimumLength(new ComponentName(<package>, <class>), 1); 

Log.d("Log", "Reset done: " + dpm.resetPassword("", 0));
Log.d("Log", "Sufficient: " + dpm.isActivePasswordSufficient());

Log.d("Log", "Reset done: " + dpm.resetPassword("0000", 0));
Log.d("Log", "Sufficient: " + dpm.isActivePasswordSufficient());

Вывод:

  1. используйте setPasswordMinimumLength (..., 1)

  2. проверьте, достаточен ли пароль

  3. если не установлен пароль с помощью resetPassword ()

  4. call lockNow ()

0 голосов
/ 06 июля 2011

Смотрите здесь Как показать, что экран заблокирован? . Этот вопрос широко обсуждался и решался там

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...