Search code examples
androidangularionic3ionic-native

Ionic 3 pause and resume events triggering multiple times in Android


I am facing strange issue in ionic 3 pause and resume events, whenever I paused the application, events are calling multiple times(once 2, once 3 etc). Here is the code

 this.platform.ready().then(() => {
  this.platform.pause.subscribe(() => {        
      console.log('****UserdashboardPage PAUSED****');
  });  
  this.platform.resume.subscribe(() => {      
      console.log('****UserdashboardPage RESUMED****');
  });
});

I have tried by placing the same code in ionViewDidLoad, Constructor, ionViewWillEnter still facing same issue. Please anybody help me to get resolve this. I'm calling one service once the app is resumed but now its calling multiple times.Thanks!!


Solution

  • It is calling multiple times becuase every time you pause or resume the application it will subscribe to platform. you need to unsubscribe to platform as following

    private sub1$:any;
    private sub2$:any;
    
    this.platform.ready().then(() => {
      this.sub1$=this.platform.pause.subscribe(() => {        
          console.log('****UserdashboardPage PAUSED****');
      });  
      this.sub2$=this.platform.resume.subscribe(() => {      
          console.log('****UserdashboardPage RESUMED****');
      });
    });
    
    ionViewWillUnload() {
        this.sub1$.unsubscribe();
        this.sub2$.unsubscribe();
      }
    

    I hope it will work.