У меня есть таймер обратного отсчета, который запускается, когда пользователь нажимает кнопку; по завершении таймера местоположение устройства отправляется на другое устройство, для которого пользователь вводит номер телефона.Вот мой код таймера ::
private void initTimer() {
if(timer==null)
{
long totalTime= (PersistData.getIntData(con, AppConstant.selectedMinute)*60*1000)+(PersistData.getIntData(con, AppConstant.selectedseconds)*1000);
timer=new CountDownTimer(totalTime, 1000) {
public void onTick(long millisUntilFinished) {
timerView.setText(getFormatterTimerText(millisUntilFinished));
if(millisUntilFinished<60*1000)
{
continueFlashAndAudio();
/*
refresh GPS Location again
*/
updateGPSLocation (millisUntilFinished);
}
}
public void onFinish() {
showFinishView();
}
};
}
}
Когда таймер работает, он должен запускать функцию «updategpslocation»:
private void updateGPSLocation(long millisUntilFinished) {
Log.e("current time remaining", " time: "+millisUntilFinished/1000);
if(millisUntilFinished/1000==30)
{
Log.e("30 seconds remaining", "get locaiton");
getLocation();
}
if(millisUntilFinished/1000==10)
{
Log.e("10 seconds remaining", "get locaiton");
getLocation();
}
}
У меня проблема в том, что примерно половинавремя, местоположение не будет обновлено, и он отправит местоположение, которое было ранее выбрано на другой телефон.
Вот мой код для определения местоположения:
private void getLocation()
{
GPSTracker tracker=new GPSTracker(con);
if(tracker.canGetLocation())
{
Location lastLocation=tracker.getLocation();
PersistObject.apply(con,AppConstant.LOCATION,lastLocation);
Log.e("Location is refreshed", "5 seconds remaining");
}
}
Я очень смущен тем, почему это происходит, я потратил часы на это и нанял пару фрилансеров, чтобы помочь иничто из того, что они сделали, не смогло решить проблему.Половина времени код будет работать нормально, и он будет отправлять новое местоположение устройства, и половину времени он будет отправлять местоположение, которое устройство вернуло ранее.Я перемещаю телефон, чтобы проверить новые места, и я запускаю это на трех разных телефонах, и это происходит на всех них с перерывами.Любые идеи очень приветствуются.