4

我在一个应用程序中工作,我过滤屏幕是打开还是关闭,并在屏幕打开时启动一个活动,但有时它会启动活动但活动已经开始,我想问你是否有任何了解我的应用程序是否已启动活动的方法。

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

intent11.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

非常感谢。

4

3 回答 3

2

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

class IAMActivity extends Activity {
    static boolean isStart = false;

  public void onStart() {
     super.onStart();
     isStart = true;
  } 
  public void onStop() {
     super.onStop();
     isStart = false;
   }
 }
于 2012-11-23T18:34:27.657 回答
1

这是您要查找的内容:

 class MyActivity extends Activity {
 static boolean alreadyLaunched = false;

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

  @Override
  public void onStop() {
     super.onStop();
     alreadyLaunched = false;
  }
}
于 2012-11-23T18:34:33.460 回答
0

如果您想将活动限制在一个实例中,您可以将launchMode清单文件中的设置为singleTasksingleInstance,具体取决于您的要求。

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

通过而不是singleTask传递新的意图。onNewIntent()onCreate()

有关详细信息,请参阅<activity> 。

于 2012-11-23T20:41:47.807 回答