当应用程式处于背景模式时,如何在Ionic 3和Angle 4中触发功能?

时间:2019-01-05 06:47:57

标签: angular cordova ionic3

我正在为IOT开发一个应用程序。在物联网设备中,他们有一张SIM卡,客户将提供他们的手机号码。因此,只要有事件发生,它将向客户发送消息。 现在在应用程序中,我正在存储物联网设备的sim卡号,每当有来自设备的消息时,我都需要阅读并在应用程序中显示它。 当应用程序处于前台时,一切都按预期工作。但是无论何时应用程序进入后台,我都无法阅读消息。 因此,请帮助我解决此问题。我尝试使用离子背景模式包装,但没有用。

  this.backgroundMode.enable();
this.backgroundMode.on("activate").subscribe(()=>{      
  if (SMS) SMS.startWatch(() => {
    console.log('watching started');
  }, Error => {
    console.log('failed to start watching');
  });

  document.addEventListener('onSMSArrive', (e: any) => {
    var sms = e.data;
      if (sms.address == '+91' + this.global.deviceNumber) {
        var messageArray = new Array();
        messageArray=sms.body.split('\n');
        this.messageReceiver(messageArray);
      }

  });
});

1 个答案:

答案 0 :(得分:0)

最后,我发现在android 6之后,他们删除了应用程序在后台模式下的工作。因此要唤醒用户,我们需要使用推送通知,或者我们可以运行调度程序。