我正在做我的个人项目,以确保孩子们的安全和顺畅。我目前正在处理网页,该网页每分钟都会跟踪我的孩子的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:此浏览器选项卡始终在儿童电话中打开(但是通常会最小化)。 感谢您的建议。