У меня есть JobService, который должен получить местоположение и отправить его в веб-службу, проблема в том, что моя функция sendLocation () не ждет, пока getLocation () завершит sh, и поэтому она не отправляет никаких data, я знаю, что getLocation () работает, поскольку я уже установил некоторые теги, но к тому времени, когда это будет сделано, sendLocation () уже начал выполняться.
мой onStartJob выглядит так
public boolean onStartJob(JobParameters params) {
doBackgroundWork(params);
return true;
}
и мой doBackgroundWork () вот так
private void doBackgroundWork(final JobParameters params) {
new Thread(new Runnable() {
@Override
public void run() {
getLocation();
sendLocation();
jobFinished(params, false);
}
}).start();
}
Я уже пытался поместить getLocation () вне doBackgroundWork () и внутри onStartJob (), вот так
public boolean onStartJob(JobParameters params) {
getLocation();
doBackgroundWork(params);
return true;
}
, но результат в таком же поведении.
Что я могу сделать?