Ich verwende Loopj, um eine Anfrage und Antwort zu bekommen. Aber es scheint, dass Callback-Methode nicht ordnungsgemäß aufgerufen wird, wenn eine Internetverbindung ohne Daten. Wenn ich auf ein Listview seinen folgenden Code ausführen:Callback-Methode für AsyncHttpClient, wenn Internetverbindung ohne Daten android Loopj
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
System.out.println("onSuccess");
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
System.out.println("onFailure");
}
});
Problem ist, dass, wenn Internet verbunden, aber ohne Daten dann onFailure() nicht selbst nach Timeout-Einstellungen aufrufen.
Ich habe mit folgenden Timeout-Einstellungen in Client versucht:
client.setTimeout (5000);
oder
client.setConnectTimeout (5000);
oder
client.setResponseTimeout (5000);
oder
client.setMaxRetriesAndTimeout (5,1000);
Keines dieser zwingen, onFailure() aufzurufen. Meine Frage ist, gibt es eine Möglichkeit, onFailure() zu rufen, wenn Internetverbindung ohne Daten oder andere Callback in Loopj, die nach Timeout ausgelöst?
Ich habe versucht, aber onFInish() wird nicht aufgerufen, wenn eine Internetverbindung ohne Daten. Es fordert solange an, bis Internetdaten verfügbar sind. – 0xalihn
Hält an? Hab dich nicht verstanden. Kannst du bitte mehr erklären. Oder post screenshot oder sowas? @ 0xAliHn – Sanoop
Ich meine onFinish() nach entweder onSuccess() oder OnFailure() aufgerufen. In meinem Fall Internetverbindung ohne Daten sowohl onSuccess() und OnFailure() nicht ausgelöst werden. OnFinish() wird also auch nicht aufgerufen. – 0xalihn