问题描述
我有一个问题,因为我的应用程序在发送推送通知时打开深层链接,它必须在后台打开,如果没有,它就什么也不做,如果它可以打开它的话或者直接打开链接。我只是有推送通知的背景问题。
CapApp.addListener('appUrlOpen',async (data: any) => {
const routeData = await getDeepLinkRouteData(data.url,dependencies)
history.push(routeData.route,routeData.params)
})
但是对于通知,由于我无权访问我运行所有内容的文件中的道具,我必须创建一个订阅才能访问,这就是代码
EventEmitter.subscribe('Notificationopened',async (deeplink:any) => {
const routeData = await getDeepLinkRouteData(deeplink,routeData.params)
})
事件发出它包含的内容是这样的:
export const EventEmitter:any = {
_events: {},dispatch(event: Events,data: any) {
if (!this._events[event]) return;
this._events[event].forEach((callback: Function) => callback(data))
},subscribe(event: Events,callback: (data: any) => any) {
if (!this._events[event]) this._events[event] = [];
this._events[event].push(callback);
},unsubscribe(event: Events) {
if (!this._events[event]) return;
delete this._events[event];
}
}
PushNotifications.addListener('pushNotificationActionPerformed',async (action: PushNotificationActionPerformed) => {
setTimeout(() => {
EventEmitter.dispatch('Notificationopened',action?.notification?.data?.deeplink)
},4000)
this.pushUpdate(action?.notification?.data?.pushId)
})
您能给我的任何帮助,我将不胜感激:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)