如何知道一项活动是否已经开始
我正在一个应用程序中工作,在该应用程序中,如果屏幕处于打开或关闭状态,并在屏幕打开时启动活动,但有时会启动活动,但活动已启动已经,我想问你是否有任何方式知道我的应用程序,如果一个活动已经启动。如何知道一项活动是否已经开始
当我开始我加入这个代码的活动
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;
}
}
好吧我会尝试,但只是一个问题,在我的活动时,屏幕熄灭我的活动去onResumen()?和他们当屏幕上去onStart()???这lifebicece是正确的吗?谢谢。 –
我认为当关闭活动进入onPause()状态并且活动时的屏幕进入onResume()状态时。 http://developer.android.com/training/basics/activity-lifecycle/starting.html 对不起编辑。 – Rajnish
这里变量是你在找什么:
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>
随着singleTask
一个新的意图是通过onNewIntent()
而不是onCreate()
交付。
请参阅<activity>了解更多详情。
看看[onNewIntent](http://developer.android.com/reference/android/app/Activity.html#onNewIntent(android.content.Intent)),它可能适合您的目的。 – DroidBender