React Native Как перенаправить на страницу при нажатии на уведомление - PullRequest
0 голосов
/ 26 февраля 2019

Я использую реагирующее-push-уведомление на странице с таймером .Если приложение находится в фоновом режиме через 5 минут, мне сообщают, что время прошло.Когда я нажимаю на уведомление, оно переходит на эту страницу.Но когда я полностью закрываю приложение и через 5 минут нажимаю на уведомление, оно переходит на стартовую страницу.Теперь вопрос, как заставить его перейти на эту страницу?

//
let remainingTime = (this.state.minute * 60 + this.state.seconds) * 1000;

let date = new Date(Date.now() + remainingTime);
PushNotification.localNotificationSchedule({
    message: "Message",
    date,
    soundName: "rush"
});

1 Ответ

0 голосов
/ 26 февраля 2019

При открытии или получении любого уведомления вызывается обратный вызов onNotification, передающий объект с данными уведомления.

Уведомление Пример объекта:

{
    foreground: false, // BOOLEAN: If the notification was received in foreground or not
    userInteraction: false, // BOOLEAN: If the notification was opened by the user from the notification area or not
    message: 'My Notification Message', // STRING: The notification message
    data: {}, // OBJECT: The push data
}

Таким образом, при запуске onNotification вы можете получить объект данных и, основываясь на его значении, вы можете написать свою логику перенаправления.

Чтобы быть более понятным, вы можете получить этот кодна стартовом экране или в главном файле

var PushNotification = require('react-native-push-notification');

PushNotification.configure({

    // (optional) Called when Token is generated (iOS and Android)
    onRegister: function(token) {
        console.log( 'TOKEN:', token );
    },

    // (required) Called when a remote or local notification is opened or received
    onNotification: function(notification) {
        console.log( 'NOTIFICATION:', notification );

        // process the notification
   }
});
...