как узнать, какой экран сверху (активный / установленный) - PullRequest
0 голосов
/ 11 марта 2019

iam, реализующее приложение с Flutter, которое имеет экран с пин-кодом, должно быть введено для доступа к приложению, пин-код отображается каждый раз, когда вы возобновляете приложение, поэтому я использую ( didChangeAppLifecycleState ) проблема в том, что если что-то прерывает работу приложения как уведомление WhatsApp, пин-код показывает, и это круто, но если приходят два сообщения, я получаю два пин-кода и так один, как только я получил 27 пин-кодов, я должен ввести их, чтобы возобновить приложение, и это совсем не круто

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

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

1 Ответ

1 голос
/ 14 марта 2019

Предположим, у вас есть 3 страницы в вашем приложении, а именно: PageHome, Page1, PagePin.Затем:

  1. создайте файл 'GlobalVariables.dart', внутри этого файла создайте класс gv.

  2. Внутри класса gv создайтеstatic var:

    static String strCurPage = 'PageHome';
    
  3. Импортировать этот файл дротика на все 3 страницы.

  4. Перед переходом на новую страницу, например, из PageHome'до' PagePin ', установите:

    gv.strCurPage = 'PagePin';
    
  5. Когда приложение возобновит работу из фона, перейдите к «PagePin», только если gv.strCurPage! = «PagePin».

...