Android-锁定时如何保持Chrome处于活动状态

时间:2019-02-13 06:59:03

标签: javascript android google-chrome gps

我正在做我的个人项目,以确保孩子们的安全和顺畅。我目前正在处理网页,该网页每分钟都会跟踪我的孩子的GPS位置。我知道有很多应用程序,但是我想为我和我的妻子创建定制的应用程序。

我的问题:

当儿童手机(android)锁定时,它也会同时停用Google Chrome浏览器。这样,JavaScript代码将无法正常工作,并且无法将GPS数据发送到我的数据库服务器(MySql-MariaDB)

我的问题是:

是否有某种方法可以在手机锁定时保持Google Chrome(或备用浏览器)的唤醒?我在Google周围搜索了很多,但没有成功。

感谢您的任何建议。

为便于说明,这是我的代码的一部分:

<script>

  function get_location() {
      navigator.geolocation.getCurrentPosition(show_map, errmap, {
          maximumAge: 6000,
          timeout: 2000,
          enableHighAccuracy: true
      });
  }

  function writetodb(position) {
      {
          var latitude = position.coords.latitude;
          var longitude = position.coords.longitude;
          if (window.XMLHttpRequest) {
              // code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp = new XMLHttpRequest();
          } else {
              // code for IE6, IE5
              xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          }
          xmlhttp.onreadystatechange = function() {
              if (this.readyState == 4 && this.status == 200) {}
          };
          xmlhttp.open("GET", "./getposition.php?kid_id=<?php echo $kid_id;?>&lat=" + latitude + "&lon=" + longitude, true);
          xmlhttp.send();
      }
  }


  function show_map(position) {
      writetodb(position);
  }

  function errmap() {
      console.log('.');
  }


  function startWorker() {
      if (typeof(Worker) !== "undefined") {
          if (typeof(w) == "undefined") {
              w = new Worker("./js/worker.js");
          }
          w.onmessage = function(event) {
              get_location();
          };
      } else {
          console.log("Sorry! No Web Worker support.");
      }
  }
  window.onload = function() {
    startWorker();
  }
</script>

worker.js:

function sendbackmsg() {
  var i = 1;
  postMessage(i);
  setTimeout("sendbackmsg()",60000);
}

sendbackmsg();

PS:此浏览器选项卡始终在儿童电话中打开(但是通常会最小化)。 感谢您的建议。

0 个答案:

没有答案