Отправить Async Http Получить запрос после каждого X секунды внутри службы
Я пытаюсь отправить сердцебиение Http
Get
запрос через x секунд внутри службы с использованием асинхронного http-клиента
внутри onStartCommand
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.v(TAG,"actual heartbeat service started");
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Log.v(TAG,"sending heart beat");
addRequestHandle(executeSample( getAsyncHttpClient(),
getUrlText(),
getRequestHeaders(),
getRequestEntity(),
getResponseHandler())
);
}
}, 0, 5000);
return Service.START_STICKY;
}
executeSample
похоже
public RequestHandle executeSample(AsyncHttpClient client, String URL, Header[] headers, HttpEntity entity, ResponseHandlerInterface responseHandler) {
Log.v(TAG,"heartbeat service : executeSample");
try
{
Log.v(TAG,"executeSample");
RequestParams params = new RequestParams();
params.put("test","test");
return client.get(URL, responseHandler);
} catch (Exception fnfException) {
}
return null;
}
executeSample
вызывается через каждые 5 секунд, но это дает мне исполнение
09-09 16:52:07.712: E/ исключение (21720): ошибка выполнения executeSample: 09-09 16:52:07.712: E/ исключение (21720): java.lang.IllegalArgumentException: синхронный ResponseHandler, используемый в AsyncHttpClient. Вы должны создать свой обработчик ответа в зацикленном потоке или использовать вместо него SyncHttpClient. 09-09 16:52:07.712: E/ исключение (21720): на com.loopj.android.http.AsyncHttpClient.sendRequest(AsyncHttpClient.java:1165) 09-09 16:52:07.712: E/ исключение (21720): в com.loopj.android.http.AsyncHttpClient.post(AsyncHttpClient.java:942) 09-09 16:52:07.712: E/ исключение (21720): в com.loopj.android.http.AsyncHttpClient.post(AsyncHttpClient.java:925) 09-09 16:52:07.712: E/ исключение (21720): на com.loopj.android.http.AsyncHttpClient.post(AsyncHttpClient.java:900) 09-09 16:52:07.712: E/ исключение (21720): на com.services.HeartBeatService.executeSample(HeartBeatService.java:90) 09-09 16:52:07.712: E/ исключение (21720): на com.services.HeartBeatService$1.run(HeartBeatService.java:55) 09-09 16:52:07.712: E/ исключение (21720): на java.util.Timer$TimerImpl.run(Timer.java:284)
любое предложение / помощь
С уважением