Android 是否可以检测活动是否已暂停?(线程问题)

Android 是否可以检测活动是否已暂停?(线程问题),android,multithreading,Android,Multithreading,我有一个对象,它在一个单独的线程中向服务器发出一些http请求。当响应返回时,我调用一个侦听器,让我的活动知道操作已经完成 问题是:如果线程正在运行,而活动已暂停,则我会得到android.view.WindowManager$BadTokenException:无法添加window--tokenandroid.os。BinderProxy@4069ef80无效;您的活动正在运行吗?错误 是否可以检测活动是否已暂停?谢谢。引入布尔值,并在活动状态更改时更新其状态 public class Mai

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

问题是:如果线程正在运行,而活动已暂停,则我会得到
android.view.WindowManager$BadTokenException:无法添加window--tokenandroid.os。BinderProxy@4069ef80无效;您的活动正在运行吗?
错误


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

引入布尔值,并在活动状态更改时更新其状态

public class MainActivity extends AppCompatActivity{
boolean isPaused=false;

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

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

使用布尔值确定活动状态。

别忘了调用父类!受保护的void onPause(){super.onPause();isPaused=true;}与相同onResume@OlivierGrenoble谢谢你指出这一点,我将编辑我的答案。应该首先调用父类。否则我认为您会得到一个错误。我认为应该在调用父类之前设置变量。这就是谷歌为isDestroyed所做的。