Ionic Push Notification in Backgroung won't work


#1

I build an app to receive FCM push notifications. It is received notifications perfectly. Working in foreground it is ok.

But when app is in background and any other app is not open, when clicking the push notification, app comes to foreground, But our app is background and another app is foreground, even if it is received a push notification and I clicked it, app doesn’t come to foreground.

But all the functionalities are works fine to click action. This is my code. Please look at it?

pushObject.on('notification').subscribe((data: any) => {
	console.log('data -> ', data);
	//if user using app and push notification comes
	if (data.additionalData.foreground) {
		// if application open, show popup
		let confirmAlert = this.alertCtrl.create({
			title: data.title,
			subTitle: data.message,
			enableBackdropDismiss: false,
			buttons: [{
				text: 'View',
				handler: () => {
					//TODO: Your logic here
					let navTransition = confirmAlert.dismiss();
					navTransition.then(() => {
						if (data.titleHire == "Confirmed") {
							this.navCtrl.push(ThirdPage, {
								hireNo: data.additionalData['subtitle']
							});
						}
						else if (data.title == "Rejected") {
							this.navCtrl.push(ForthPage, {
								hireNo: data.additionalData['subtitle']
							});
						}
						else if (data.title == "Hire") {
							console.log("view-confirmed-hires");
							this.navCtrl.push(ViewConfirmedHiresPage);
						}
						console.log('Push notification received');
					});
					return true;
				}
			}]
		});
		confirmAlert.present();
	} else {
		//if user NOT using app and push notification comes
		//TODO: Your logic on click of push notification directly
		if (data.title == "Confirmed") {
			this.backgroundMode.moveToForeground();
			this.navCtrl.push(ThirdPage, {
				hireNo: data.additionalData['subtitle']
			});
		}
		else if (data.title == "Rejected") {
			this.backgroundMode.moveToForeground();
			this.navCtrl.push(ForthPage, {
				hireNo: data.additionalData['subtitle']
			});
		}
		else if (data.title == "View") {
			this.backgroundMode.moveToForeground();
			console.log("view-confirmed-hires");
			this.navCtrl.push(ViewConfirmedHiresPage);
		}
		console.log('Push notification clicked');
	}
});