Flutter и OneSignal, как перехватить уведомление на странице, отличной от той, на которой оно инициализировано

#flutter #onesignal

#flutter #onesignal

Вопрос:

Я запускаю инициализацию на главной странице моего приложения:

     OneSignal.shared.init("app-id");
 

И перехватывать уведомления, а затем что-то делать, если приложение находится в поле зрения:

     OneSignal.shared.setNotificationReceivedHandler((OSNotification notification) { 
        // doing stuff here, works great on front page
    }
 

Это отлично работает на frontpage. Но я бы хотел получать уведомления и выполнять конкретные задачи и на других страницах, что, однако, не работает.

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

Возможно ли это достичь?

Ответ №1:

Хорошо, это сработало.

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