【发布时间】:2016-05-19 21:17:25
【问题描述】:
我正在开发一个 android 应用程序并且有一个活动。我在我的活动中编写了一个代码,它将在从服务器获得响应后启动一个新活动,即使在我按下活动上的返回按钮后,此代码也会被执行。
所以,我想检查一下,如果我当前的活动不再处于活动状态,那么代码不应运行。
如何检查活动是否已停止运行或不再存在。
如果有人知道怎么做,请帮助我。
非常感谢。
【问题讨论】:
我正在开发一个 android 应用程序并且有一个活动。我在我的活动中编写了一个代码,它将在从服务器获得响应后启动一个新活动,即使在我按下活动上的返回按钮后,此代码也会被执行。
所以,我想检查一下,如果我当前的活动不再处于活动状态,那么代码不应运行。
如何检查活动是否已停止运行或不再存在。
如果有人知道怎么做,请帮助我。
非常感谢。
【问题讨论】:
Activity 仍在内存中,这就是为什么在启动另一个 Activity 后执行代码以完成调用 finish() 的原因。
要检查当前活动是否存在,您必须重写 onDestroy() 方法,该方法每次在您的活动完全销毁时调用。
检查活动是否正在运行或不遵循此question
【讨论】:
当你开始一个新的Activity时,只需调用finish()方法
喜欢
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");
}
【讨论】:
这样试试
class MyActivity extends Activity {
static boolean isActive = false;
@Override
public void onStart() {
super.onStart();
isActive = true;
}
@Override
public void onStop() {
super.onStop();
isActive = false;
}
}
【讨论】:
在这里查看:Proper way to know whether an Activity has been destroyed
问题有你的答案,因为提供的解决方案只需使用 SharedPrefrence 来存储变量。
【讨论】: