我正在使用Ionic构建应用程序,该应用程序应在后台运行,并且一旦发生感兴趣的事件,该应用程序应出现在前台。
为此,我使用BackgroundMode。
在构造函数中,我启用后台模式。
this.backgroundMode.enable();
为了测试此功能,我创建了一个功能,该功能在按下按钮后等待5秒钟并发送本地通知,并应将应用程序置于前台
bringToForeground() {
this.sleep(5000).then(() => {
this.backgroundMode.moveToForeground();
this.localNotifications.schedule({
id: 2,
text: '2 -> Single ILocalNotification',
sound: 'file://sound.mp3',
data: { secret: "" }
});
})
}
sleep(time) {
return new Promise((resolve) => setTimeout(resolve, time));
}
要测试,我
发生的事情是我看到通知,该应用程序仍在后台运行。
有什么想法吗?
答案 0 :(得分:0)
您在构造函数上使用过enabled()吗?像这样:
startBackgroundMode(){
console.log('Iniciando background mode')
this.backgroundMode.enable();
this.backgroundMode.overrideBackButton();
//this.backgroundMode.excludeFromTaskList();
this.backgroundMode.on('activate').subscribe(value => {
this.backgroundMode.disableWebViewOptimizations();
});
}
对我来说,解决方案是使用Observable,然后我订阅并调用moveToForeGround()
检查完整答案here