J'utilise retrofit2 et j'ai constaté que parfois le callback pour Call.enqueue n'est pas appelé.
Retrofit retrofit = new Retrofit.Builder().baseUrl(usuarioService.BASE_URL).addConverterFactory(GsonConverterFactory.create(usuarioService.g)).build();
usuarioService service = retrofit.create(usuarioService.class);
Call<String> user = service.verificarUsuario(login.getText().toString(), senha.getText().toString());
user.enqueue(new retrofit2.Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
String resultado = response.body();
if (resultado.equals("false")) {
Toast toast = Toast.makeText(MainActivity.this, "Senha ou usuário não existente", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP | Gravity.CENTER_VERTICAL, 0, 0);
toast.show();
} else {
if (resultado.equals("true")) {
Toast toast = Toast.makeText(MainActivity.this, "ACESSO PERMITIDO", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0);
toast.show();
Intent intent = new Intent(MainActivity.this, MenuDrawer.class);
intent.putExtra("chave1", login.getText().toString());
startActivity(intent);
finish();
}
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
}
});
Soudainement, ce problème commence à se produire, quelqu'un sait-il comment le résoudre ? Ces problèmes ne se produisaient pas jusqu'à il y a quelques instants, je ne sais pas ce qui s'est passé.
Cela ne se produit que lorsque j'utilise les données mobiles, mais pas lorsque j'utilise le WIFI.