android - 是否可以检测 Activity 是否暂停? (线程问题)

标签 android multithreading

我有一个对象,它在一个单独的线程中向服务器发出一些 http 请求。返回响应时,我调用一个监听器,让我的 Activity 知道操作已完成。

问题是:如果线程正在运行并且 Activity 已暂停,我会得到 android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4069ef80 is not valid;您的 Activity 正在运行吗? 错误。

是否可以检测 Activity 是否已暂停?谢谢。

最佳答案

引入一个 bool 值并在 Activity 状态改变时更新其状态。

public class MainActivity extends AppCompatActivity{
boolean isPaused=false;

    @Override
    protected void onPause() {
    super.onPause();
    isPaused = true;
    }

    @Override
    protected void onResume() {
    super.onResume();
    isPaused = false;
    }

使用 bool 值来确定 Activity 状态。

关于android - 是否可以检测 Activity 是否暂停? (线程问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6169768/

相关文章:

android - 资源 $NotFoundException : Resource ID # type #0x12 is not valid

Android:可以查看/绘制自定义样式吗?

android - 项目和 Beacon 所有权规则改变了吗?

c# - 在后台运行作业

c# - .NET:由于字典,HttpClient 中的 CPU 使用率为 100%?

java - Android Intent 打开图片库,但不打开图片。为什么?

android - 从 SQLite 数据库中获取某个点周围的所有项目

python - 为什么Python的threading.Condition默认使用RLock?

Java,将值传递给实现 Callable 的类的构造函数

python - 发送终止后Qthread不会停止