Android Сравнить шаблон блокировки экрана, взятый из 2 источников

Я работаю над приложением для Android, где я сохраняю шаблон блокировки. Пока пользователь вводит шаблон при включении питания на экране, я проверяю, совпадает ли он с сохраненным шаблоном.

Я сохраняю шаблон в приложении, используя: https://github.com/haibison/android-lockpattern/

Проблема в том, что оба имеют разные форматы:

1) объект lockpattern, захваченный при включении экрана:

[(row=1,clmn=0), (row=0,clmn=1), (row=1,clmn=1), (row=2,clmn=1), (row=1,clmn=2)]

2) И вот этот снимок я делаю по методу Хайбисона:

char[] pattern = data.getCharArrayExtra(LockPatternActivity.EXTRA_PATTERN);
String lockpattern = new String(pattern);

Можете ли вы предоставить несколько примеров / ссылок.

Я не должен использовать метод Haibison?

1 ответ

Вы должны установить Encrypter перед запуском Lockpattern-Intent, чтобы получить правильное представление из char-массива haibison, например LPEncrypter ( https://bitbucket.org/haibison/android-lockpattern/wiki/Encryption):

AlpSettings.Security.setEncrypterClass(context, LPEncrypter.class);

Например, простое представление для этого шаблона:

Простой шаблон

Массив Habisons без Encrypter выглядит следующим образом:

[3,9,7,7,c,9,3,7,e,c,e,a,5,6,2,4,0,e,a,7,3,9,3,4,b,8,e,9,a,c,9,7,6,6,e,8,e,8,d,0]

использование Example-Encrypter с String[] ids = new String(pattern).split("[^0-9]");

ты получишь [1,-,2,-,3,-,6] который должен быть легко преобразован в ваше представление lockpattern.

Другие вопросы по тегам