Android:如何检查 Activity 是否正在运行?

标签 android android-activity

是否有任何简单的方法可以确定某个 Activity 是否处于 Activity 状态? 我想根据 Activity 的 Activity 来做某些事情。 例如:

if(activityrunning == activity1)
//do this
else if (activityrunning == activity2)
//do something else

最佳答案

您可以在 Activity 中使用 static 变量。

class MyActivity extends Activity {
     static boolean active = false;

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

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

唯一的问题是,如果你在两个相互链接的 Activity 中使用它,那么第一个上的 onStop 有时会在第二个 onStart 之后调用。所以两者都可能是正确的。

取决于您要做什么(从服务更新当前 Activity ?)。您可以在 Activity onStart 方法中的服务中注册一个静态监听器,然后当您的服务想要更新 UI 时,正确的监听器将可用。

关于Android:如何检查 Activity 是否正在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5446565/

相关文章:

android - 为什么 Android Studio 生成的自适应图标裁剪图像太多以至于无法使用?

java - findViewById() 从 fragment 中返回 null - Android

java - Appium v​​s Espresso 用于自动化测试框架

android - Dagger 2 - 使用自定义范围时依赖不是单例

android - 焦点迷失在 adapter.notifyArrayItemRangeChanged 上

Android - 如何在 Activity 之间传递 HashMap<String,String>?

php - 跟踪用户在我的网站上花费的时间

java - Activity 通过接口(interface)向 Fragment 发送数据

java - Android Listview 和 textWatcher

android - SherlockFragment 的 Activity