0

Usecase : 로그인하면 바로 연결 위치를 추적하지만 나중에 응용 프로그램을 닫습니다.코르도바 배경 GeoLocation 서버 업데이트

https://github.com/mauron85/cordova-plugin-background-geolocation 플러그인을 사용하십시오. 그러나 디버그 모드에서는 콜백 함수에서 서버 호출을하지 않는 값을 표시합니다. renderMaps 기능은 navigator.geolocation.getCurrentPosition

document.addEventListener("deviceready", onDeviceReady, false); 

    function onDeviceReady() { 
     // Now safe to use device APIs 
     renderMaps(); 

     var callbackFn = function(location) { 
      var data = 'longitude='+ location.longitude + '&latitude=' + location.latitude + '&id=' + vm.user_id + '&token=' + vm.accessToken; 
      window.longitude_sel = location.latitude; 
      window.latitude_sel = location.longitude; 
      console.log("" + data); 
      $.ajax({ 
       type: "POST", 
       url: "https://example.com/partner/location", 
       data: data, 
       success: function(response){ 
         console.log("RESPONSE" + response); 
         } 
        }); 
      backgroundGeolocation.finish(); 
     }; 

     var failureFn = function(error) { 
      console.log('BackgroundGeolocation error'); 
     }; 

     // BackgroundGeolocation is highly configurable. See platform specific configuration options 
     backgroundGeolocation.configure(callbackFn, failureFn, { 
      desiredAccuracy: 5, 
      stationaryRadius: 0, 
      distanceFilter: 30, 
      interval: 60000, 
      stopOnTerminate: false, 
      startOnBoot: false, 
      startForeground: true, 
      stopOnStillActivity: false, 
      debug: true 
     }); 

     backgroundGeolocation.start(); 
     console.log("TEST"); 
    } 

답변

0

'URL'플러그인의 옵션을 사용해보십시오 호출합니다. 귀하의 앱 활동이 OS에 의해 백그라운드에서 종료 될 수 있으므로 콜백이 매번 작동하지 않을 것으로 예상되므로 콜백이 중단됩니다. 이 외에

, 서비스 킬 (kill)을 생존해야한다, 그래서 당신은 URL을 플러그인의 옵션을 사용하는 경우, 당신은 여전히 ​​서버에 업데이트를 얻을 수 있습니다