打开iOS Control Center后未执行附加到窗口事件的回调函数
在我的ionic IOS应用程序中,我正在收听由cordova插件生成的窗口事件。 下面是我用来侦听事件并执行操作的代码打开iOS Control Center后未执行附加到窗口事件的回调函数,ios,cordova,ionic3,cordova-plugins,Ios,Cordova,Ionic3,Cordova Plugins,在我的ionic IOS应用程序中,我正在收听由cordova插件生成的窗口事件。 下面是我用来侦听事件并执行操作的代码 window.addEventListener('event', (event) => { ... console.log("event received"); doSomething(); }); doSomething(){console.log("perform
window.addEventListener('event', (event) => {
...
console.log("event received");
doSomething();
});
doSomething(){console.log("perform an action");}
一切正常,在打开IOS Control Center(从底部向上滑动)之前,我可以接收事件。再次关闭控制中心后,我可以看到事件已被记录(“接收到事件”),但从未调用函数doSomething()。
有人遇到了类似的情况?因为事件是在angular之外生成的,所以我需要调用ngZone.run,以便让angular知道发生了什么,从而触发更改。我是这样想的
constructor(private zone: NgZone) {}
ngOnInit(){
window.addEventListener('event', (event) => {
this.ngZone.run(() => {
do stuff;
});
}