使用具有意向服务的离子进行http调用会在数据网络上产生错误

时间:2015-11-06 14:51:54

标签: java android intentservice ion

我正在使用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;

1 个答案:

答案 0 :(得分:3)

由于您使用的是intent服务,因此只要onHandleIntent方法完成,服务就会终止。 Ion的请求将检测服务上下文终止并取消请求。

但是,您似乎使用的是主应用程序上下文,而不是服务上下文,在这种情况下它应该可以工作。在任何情况下,您都会得到正确的响应(500仍然是成功的请求和响应)。 500表示问题是服务器端。