移动屏幕锁定后,我的JavaScript代码停止运行?

时间:2018-03-28 21:12:38

标签: javascript jquery firebase firebase-realtime-database

这是我的代码:

firebase.initializeApp(config);
if(!window.Notification){
  alert('Not supported');
}else{
  Notification.requestPermission().then(function(p){
    if(p=='denied'){
      alert('You denied to show notification');
    }else if(p=='granted'){
      alert('You allowed to show notification');
    }
  });
}
var database = firebase.database().ref("sensor/Motion");
database.on('child_added', function() {

  $("#Mt").val("Motion detected");
  $("#dateM").val( moment().format('LLL') );
  if(Notification.permission!=='default'){
    var notification = new Notification('Alert', {
      icon: 'alert-icon-red.png',
      body: "Motion detected!",
    });

  }else{
    alert('Please allow the notification first');
  }

我的桌面浏览器一切正常,但在我的Android设备上,当屏幕被锁定时,它会工作几分钟,之后就无法正常工作。我没有收到任何通知。

1 个答案:

答案 0 :(得分:2)

听起来您的移动浏览器在屏幕锁定时正在停止任务,可能会延长电池续航时间。这通常听起来像是件好事。

如果您想提醒用户他们未使用其设备时发生的事件,请考虑使用Firebase Cloud Messaging发送和处理这些消息。这可确保它在用户未主动使用应用程序时使用更有可能处于活动状态的通信通道。