【发布时间】:2015-04-20 05:07:13
【问题描述】:
我使用 phonegap/cordova 在 android 上创建应用程序。快递员将使用它来交付产品。他们的 Android 应用程序会在每个周期/特定时间自动向服务器发送 gps 坐标。
但我的问题是:只有打开应用程序才能做得很好。我该怎么做才能让它运行,即使我的 android 应用程序没有打开。
这是我的代码
function onDeviceReady()
{
var deviceID = device.uuid;
localStorage.setItem('pinid',deviceID);
var options = { frequency: 3000 }; //THIS I SPECIFY INTERVAL TIME TO SEND POSITIONS
watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
}
function onSuccess(position)
{
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var get_pinid="";
var get_pinid=localStorage.getItem('pinid');
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?latlng='+position.coords.latitude+','+position.coords.longitude+'&sensor=false', function(data) {
alamats = data.results[0];
localStorage.setItem('alrum',alamats.formatted_address);
});
var al="";
var al=localStorage.getItem('alrum');
//SEND TO SERVER
$.ajax({
type: "POST",
url: "http://www.domain.com/demo_android/set_position.php?",
data: "addr=" +al+ "&langi="+ lat + "&longi="+ lng+ "&devi="+ get_pinid,
cache: false,
success: function(html){
}
});
}
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
【问题讨论】: