Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何知道活动是否已经开始_Android - Fatal编程技术网

Android 如何知道活动是否已经开始

Android 如何知道活动是否已经开始,android,Android,我在一个应用程序中工作,我会过滤屏幕是否打开,并在屏幕打开时启动活动,但有时它会启动活动,但活动已经启动,我想问你是否有办法在我的应用程序中知道活动是否已经启动 当我开始活动时,我添加了以下代码 intent11.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 非常感谢。我认为您可以使用活动生命周期设置变量 class IAMActivity extends Activity { static boolean isStart = false; p

我在一个应用程序中工作,我会过滤屏幕是否打开,并在屏幕打开时启动活动,但有时它会启动活动,但活动已经启动,我想问你是否有办法在我的应用程序中知道活动是否已经启动

当我开始活动时,我添加了以下代码

intent11.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

非常感谢。

我认为您可以使用活动生命周期设置变量

class IAMActivity extends Activity {
    static boolean isStart = false;

  public void onStart() {
     super.onStart();
     isStart = true;
  } 
  public void onStop() {
     super.onStop();
     isStart = false;
   }
 }

以下是您正在寻找的内容:

 class MyActivity extends Activity {
 static boolean alreadyLaunched = false;

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

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

如果要将活动限制为一个实例,可以根据需要将清单文件中的
launchMode
设置为
singleTask
singleInstance

<activity
     android:launchMode="singleTask"
     ...>
...
</activity>

了解更多详细信息。

看一看,它可能适合您的目的。好的,我会尝试,但还有一个问题,在我的活动中,当屏幕关闭时,我的活动转到onResumen()??当屏幕打开时,它们会转到onStart()???这个生命周期正确吗?谢谢。我认为当屏幕关闭活动进入onPause()状态时,当屏幕打开活动进入onResume()状态时。抱歉编辑。