Как отменить запрос с помощью библиотеки OKHttp? - PullRequest
0 голосов
/ 03 июня 2019

Я запрашиваю информацию о файле, используя библиотеку OKHttp, например:

    final String url = "my_url";
    final String tag = "tag";
    final OkHttpClient client = new OkHttpClient();

    Thread t = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Request request = new Request.Builder()
                        .url(url)
                        .get()
                        .tag(tag)
                        .build();
                Call call = client.newCall(request);
                Response response = call.execute();
                //work with response object, etc.
            } catch (IOException  e) {
                System.out.println("Error: " + e.toString());
            }
        }
    });
    t.start();

И для отмены запроса я использую этот код как этот ответ говорит:

    for (Call call : mHttpClient.dispatcher().queuedCalls()) {
        if (call.request().tag().equals("tag"))
            call.cancel();
    }

    for (Call call : mHttpClient.dispatcher().runningCalls()) {
        if (call.request().tag().equals("tag"))
            call.cancel();
    }

Но размер списка runningCalls и списка queuedCalls равен нулю.Зачем?Как я могу отменить запрос в OKHttp?Благодарю.

...