【问题标题】:How to check activity has been destroyed or no more running如何检查活动已被破坏或不再运行
【发布时间】:2016-05-19 21:17:25
【问题描述】:

我正在开发一个 android 应用程序并且有一个活动。我在我的活动中编写了一个代码,它将在从服务器获得响应后启动一个新活动,即使在我按下活动上的返回按钮后,此代码也会被执行。

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

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

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

非常感谢。

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      当你开始一个新的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");
      }
      

      【讨论】:

        【解决方案3】:

        这样试试

        class MyActivity extends Activity {
         static boolean isActive = false;
        
          @Override
          public void onStart() {
             super.onStart();
             isActive = true;
          } 
        
          @Override
          public void onStop() {
             super.onStop();
             isActive = false;
          }
        }
        

        【讨论】:

          【解决方案4】:

          在这里查看:Proper way to know whether an Activity has been destroyed

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-09-08
            • 2022-11-11
            • 2013-12-01
            • 2015-06-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多