2

나는 응용 프로그램이융합 위치는 몇 시간 후 전송 업데이트를 중지

내가 높이 우선 순위에 위치 요청을 만드는 오전 ... 융합 위치 전송 업데이트를 중지 몇 시간 동안 켜두면, 여기에 코드 :

LocationRequest = LocationRequest.create() 
       .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) 
       .setExpirationDuration(TimeUnit.SECONDS.toMillis(LOCATION_TIMEOUT_IN_SECONDS)) 
       .setInterval(LOCATION_UPDATE_INTERVAL); 
여기

클라이언트와 콜백입니다 :

LocationCallback mLocationCallback = new LocationCallback() { 
     @Override 
     public void onLocationAvailability(LocationAvailability locationAvailability) { 
      super.onLocationAvailability(locationAvailability); 
     } 

     @Override 
     public void onLocationResult(LocationResult locationResult) { 
      super.onLocationResult(locationResult); 
      //Update location 
     } 
    }; 
    mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); 
    mFusedLocationProviderClient.requestLocationUpdates(mLocationRequest, mLocationCallback, null); 

LOCATION_TIMEOUT_IN_SECONDS 오초이지만, 업데이트는 항상 때 내 APPL, 나는 중지하고 수동으로 시작, 실행되고 있지 위치 정보가 필요합니다. 마치 documented입니다.

모든 응용 프로그램이 하나 또는 두 시간 실행,하지만 난 오랫동안 열어두면, 그것은 10 후, 나는 버튼 클릭에 활동에서 위치 업데이트를 요청

.... 작동을 중지하면 잘 작동 몇 초, 수동으로 위치 업데이트를 중단합니다 ... 내가 밤새 방치하면 활동이 밤새 생생하게 나타납니다 ...이 후에 위치 업데이트를 다시 요청하면 오는 것이 아닙니다 ...

모두 해결책이나 아이디어? 문서에서

+0

이 –

+0

위치 업데이트가 당신이 – Nininea

+0

를 호출되지 않습니다 더 구체적으로 "작동을 멈 춥니 다", 간격은 당신은 아마 –

답변

2
setExpirationDuration(long millis) 

:

(밀리 초 단위)이 요청의 기간을 설정합니다.

지속 기간은 즉시 시작됩니다 (요청이 위치 클라이언트에 전달되지 않을 때). 나중에 요청을 다시 사용하면 기간이 다시 시작됩니다.

위치 클라이언트는 요청이 만료 된 후 자동으로 업데이트를 중지합니다.

지속 시간에는 일시 중지 시간이 포함됩니다. 0보다 작은 값은 허용되지만 요청이 이미 만료되었음을 나타냅니다.

위치 업데이트를 영원히 받으려면 위치 기록을 제거하거나 적절한 시간을 설정하십시오.

+0

사이입니다.) – Nininea