网页请求首次运行不在应用上

时间:2017-12-14 10:35:19

标签: android

我的应用程序中使用OKHttp3通过标准异步方法调用来获取Web请求助手类。一切都工作正常,但在我的Splash Activity只是为了第一次运行(新安装后)web请求调用不起作用!但如果我关闭应用程序并再次运行一切正常。

这是我的回叫界面:

public interface WebResult<T> {
void onValue(T value);}

这里是调用方法

 public void getStatus(final WebResult result) {
    urlBuilder.addQueryParameter("action", "test");
    urlBuilder.addQueryParameter("reqbody", cd.toJSON());

    String url = urlBuilder.build().toString();

    Request request = new Request.Builder()
            .header("Authorization", AuthKey)
            .url(url)
            .build();

    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            setHasError(true);
            setMsg(e.getMessage());
        }

        @Override
        public void onResponse(Call call, final Response response) throws IOException {
            if (!response.isSuccessful()) {

                throw new IOException("Unexpected code " + response);
            } else {
                iAct.runOnUiThread(new Runnable() {
                    public void run() {
                        try {
                            String s = response.body().string();
                            ServerStat r = new ServerStat();
                            r.fromJSON(s);

                            result.onValue(r);
                            return;
                        } catch (IOException e) {

                        }
                    }
                });
            }
        }
    });
}

和我的泼水活动

 @Override
protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

    context = this;

     WebHelper wh = new WebHelper(context);
    wh.getStatus(new WebResult() {
        @Override
        public void onValue(Object value) {
            ServerStat r = (ServerStat) value;
            if (r.getErrorCode() == 0) {
                Toast.makeText(context, r.getErrorMsg(), Toast.LENGTH_LONG).show();

            } else {
                Toast.makeText(context, r.getErrorMsg(), Toast.LENGTH_LONG).show();
            }
        }
    });


}

1 个答案:

答案 0 :(得分:0)

我用谷歌排球取代了OKHttp3,我的情况就是它的工作!