Как завершить процесс авторизации в SimpleUI по PIN?

Создал отдельный процесс авторизации. При старте процесса прописал:

введите сюда описание изображения

h=[{"action":"run","type":"python","listener":"pin_success","method":"check_pin"}, {"action":"run","type":"set","listener":"pin_cancel","method":"vibrate"}]
hashMap.put("ShowPIN",json.dumps({"header":"Введите ПИН","handlers":h,"block_cancel":True},ensure_ascii=False))

После ввода пина обработчик:

def check_pin(hashMap,_files=None,_data=None):
    hashMap.put("toast",hashMap.get("pin"))
    if hashMap.get("pin")=="1111":
       hashMap.put("beep","")
       hashMap.put("ClosePIN","")
       #hashMap.put("FinishProcess","")
       #hashMap.put("break","")
    return hashMap

Как сделать чтобы при удачной авторизации пользователя окно с вводом PIN закрывалось и процесс завершался, если указываю FinishProcess или break без ClosePIN, то не закрывается окно ввода пина, а наоборот закрывается окно ввода пина, но процесс не завершается.


Ответы (3 шт):

Автор решения: Alex

Закрытие окна ввода PIN (ClosePIN) — должно отключить окно ввода PIN. Завершение процесса (FinishProcess) — должно завершить текущий процесс

→ Ссылка
Автор решения: Dmitry Vorontsov

Окно ввода пина - отдельный экран в SimpleUI, поверх вообще всего. Он ждет 4 знака, проверяет (событие pin_success) и тут же проверяет наличие ClosePIN в стеке. Если у вас открыт при этом процесс, он сам по себе (это другая активити). Там FinishProcess должно сработать. break - нет такой команды.

→ Ссылка
Автор решения: Dmitry Vorontsov

Протестировал. Да, не работает так как надо. ShowPIN задумывалось как защита конфигурации на запуске (как и биометрия). И суть там держать экран открытым чтобы не дать закрыться. Так чтобы защищать конкретный процесс, я об этом не задумывался, но теперь задумался. Он и для процесса эту функцию выполняет - т.е. вы не зайдете на процесс пока не введете правильный пин. Но вот с передачей события на процесс - оно не работает. А тут нужно событие onInput передавать именно на процесс чтобы на процессе выполнялось FinishProcess введите сюда описание изображения Поэтому будет еще одна команда ShowPINProcess именно для процесса, с целью передачи управления на процесс

→ Ссылка