Ionic 3暂停和恢复事件在Android中多次触发

Ionic 3暂停和恢复事件在Android中多次触发,android,angular,ionic3,ionic-native,Android,Angular,Ionic3,Ionic Native,我在ionic 3暂停和恢复事件中遇到了一个奇怪的问题,每当我暂停应用程序时,事件都会多次调用(一次2,一次3等)。 这是密码 this.platform.ready().then(() => { this.platform.pause.subscribe(() => { console.log('****UserdashboardPage PAUSED****'); }); this.platform.resume.subscribe(

我在ionic 3暂停和恢复事件中遇到了一个奇怪的问题,每当我暂停应用程序时,事件都会多次调用(一次2,一次3等)。 这是密码

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

我尝试过在ionViewDidLoad、Constructor和ionViewWillEnter中放置相同的代码,但仍然面临相同的问题。请任何人帮我解决这个问题。应用程序恢复后,我会呼叫一个服务,但现在它会呼叫多次。谢谢

它会多次调用,因为每次您暂停或恢复应用程序时,它都会订阅平台。 您需要按以下步骤取消对平台的订阅

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();
  }
我希望它能起作用。

从'@ionic/angular'导入{Platform};
从'@angular/core'导入{Component};
从“rxjs”导入{Subscription};
@组成部分({
选择器:“app-tab1”,
templateUrl:'tab1.page.html',
样式URL:['tab1.page.scss']
})
导出类选项卡1页{
构造函数(专用平台:平台){}
resumeListener:订阅=新订阅();
ionViewWillEnter(){
this.resumeListener=this.platform.resume.subscribe(()=>{
控制台日志(“恢复”)
})
}
ionViewWillLeave(){
this.resumeListener.unsubscribe();
}

}
@Suraj Rao。。祝你好运。。我正在userdashboard页面中调用这些事件。。不在app.component.js中。。这可能是问题所在吗?页面是否延迟加载?什么时候导航到?我想这可能取决于这些。。但不确定为什么会在构造函数中多次调用这些事件只调用了多次。。构造器和生命周期方法并不是通过调用tanks来获得答案,我会检查它并让您知道