如何检查活动已被破坏或不再运行

时间:2016-05-19 12:54:21

标签: android android-activity

我正在开发一款Android应用并开展活动。我在我的活动中编写了一个代码,它将在从服务器获得响应后启动一个新活动,即使在我按下我的活动按钮后,此代码也会执行。

所以,我想检查一下,如果我当前的活动不再活动,那么代码就不应该运行。

如何检查该活动是否已停止运行或已存在。

如果有人知道怎么做,请帮助我。

非常感谢先进。

4 个答案:

答案 0 :(得分:0)

点击此处:Proper way to know whether an Activity has been destroyed

问题有你的答案,因为提供的解决方案只是使用SharedPrefrence来存储变量。

答案 1 :(得分:0)

活动仍然在内存中,这就是为什么执行代码以在启动另一个活动后完成完成调用finish()的原因。 要检查当前活动是否存在,您必须覆盖每次活动完全销毁时调用的onDestroy()方法。 要检查活动是否正在运行,请按照此question

进行操作

答案 2 :(得分:0)

在您开始新的finish()时调用Activity方法 像

Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();//this activity has been finish and the code will not execute

您可以检查Activity是否被销毁。 覆盖此方法

public void onDestroy() {
super.onDestroy();
Log.d("Activity name,"destroyed");
}

答案 3 :(得分:0)

试试这个

class MyActivity extends Activity {
 static boolean isActive = false;

  @Override
  public void onStart() {
     super.onStart();
     isActive = true;
  } 

  @Override
  public void onStop() {
     super.onStop();
     isActive = false;
  }
}