我正在使用intentService与Ion进行http调用。在Wifi上运行良好但是当我切换到数据网络时,事情就开始破坏。
Ion.with(Application.getApplicationContext())
.load(url)
.as(new TypeToken<Object>() {})
.withResponse()
.setCallback(new FutureCallback<Response<Object>>() {
@Override
public void onCompleted(Exception e, Response<Object> response) {
if(e == null) {
Bundle bundle = new Bundle();
bundle.putSerializable("result", (Serializable) response.getResult());
rec.send(response.getHeaders().code(), bundle);
}
}
});
以上是我在IntentService中使用的代码 我正进入(状态 &#34; java.io.IOException:非2xx状态行:HTTP / 1.1 500内部服务器错误。&#34;
答案 0 :(得分:3)
由于您使用的是intent服务,因此只要onHandleIntent方法完成,服务就会终止。 Ion的请求将检测服务上下文终止并取消请求。
但是,您似乎使用的是主应用程序上下文,而不是服务上下文,在这种情况下它应该可以工作。在任何情况下,您都会得到正确的响应(500仍然是成功的请求和响应)。 500表示问题是服务器端。