2016-12-30 11 views
2

私は、のようなOkHttpリクエストにタグを割り当てるOkHttp3複数の要求タグ

Request request = new Request.Builder() 
    .url(url) 
    .tag(requestTag) 
    .build(); 

と私は

public static void cancel(Object tag) { 
    for (Call call : getClient().dispatcher().queuedCalls()) { 
     if (tag.equals(call.request().tag())) call.cancel(); 
    } 
    for (Call call : getClient().dispatcher().runningCalls()) { 
     if (tag.equals(call.request().tag())) call.cancel(); 
    } 
} 

を使用して、そのことにより、その特定の要求をキャンセルすることができます。しかし、要求に複数のタグを割り当てる方法ですのでリクエストを追跡する必要があり、リクエストにタイムアウトがある場合は、関連するタグリクエストをキャンセルする必要があります。

アイデアはありますか?

+0

解決方法を見つけましたか? – tbag

答えて

1

タグには常にSetを使用するようにアプリケーションを変更してください。キャンセルコードでは、ダウンキャストする必要があります。

+0

私はOPと同様の質問をしました。答えをもっと詳しく説明できますか? – tbag

関連する問題