gpt4 book ai didi

java - 改造:无网络时取消通话

转载 作者:行者123 更新时间:2023-12-02 01:45:16 35 4
gpt4 key购买 nike

实际上,当我使用具有 radio 频率的设备时,我的应用程序出现了问题。如果设备超出 radio 范围但尝试发送文件,我会收到 onFailure 消息,我对用户说没有网络,但主要问题是,一旦设备返回到 radio 范围内,因此它返回到网络中,无论如何,当我不在网络中时,它都会发送我试图发送的文件。

所以我可以取消 onFailure 的调用,但尝试将 call.cancel(); onFailure 不起作用。

我该如何解决这个问题?

最佳答案

您可以扩展 Callback 类来创建自己的 CancellableCallback 类,如下所示:

public class CancellableCallback<T> implements Callback<T> {

private Callback<T> callback;

private boolean canceled;

private CancellableCallback() {}

public CancellableCallback(Callback<T> callback) {
this.callback = callback;
canceled = false;
}

public void cancel() {
canceled = true;
callback = null;
}

@Override
public void success(T o, Response response) {
if (!canceled) {
callback.success(o, response);
}
}

@Override
public void failure(RetrofitError error) {
if (!canceled) {
callback.failure(error);
}
}

关于java - 改造:无网络时取消通话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53765732/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com