我有一个独立的Expo应用程序,并从我的服务器发送推送通知。我在我的App.js componentDidMount中有一个通知监听器,如下所示。
componentDidMount = () => {
this._notificationSubscription = Notifications.addListener(this._handleNotification);
}
处理程序在我的应用程序前台或后台运行时被调用。 但是,当我的应用程序未运行(甚至不在后台运行),并且通知被传递时,在点击通知后,应用程序会打开,但处理程序不会被调用。 看起来,监听器注册“太晚了”。 我的通知有一个有用的有效负载,我想在应用程序中使用它,但除非应用程序运行,否则在这种“冷启动”情况下就会丢失。 是否有一种方法在冷启动时保留此通知数据并调用此侦听器?
registerRootComponent
? 当你从通知中打开应用时,请尝试检查根组件中是否存在props.exp.notification
。 - brentvatne