我正在为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);
}
});
});
答案 0 :(得分:0)
最后,我发现在android 6之后,他们删除了应用程序在后台模式下的工作。因此要唤醒用户,我们需要使用推送通知,或者我们可以运行调度程序。