我在一个应用程序中工作,我过滤屏幕是打开还是关闭,并在屏幕打开时启动一个活动,但有时它会启动活动但活动已经开始,我想问你是否有任何了解我的应用程序是否已启动活动的方法。
当我开始活动时,我添加了此代码
intent11.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
非常感谢。
我在一个应用程序中工作,我过滤屏幕是打开还是关闭,并在屏幕打开时启动一个活动,但有时它会启动活动但活动已经开始,我想问你是否有任何了解我的应用程序是否已启动活动的方法。
当我开始活动时,我添加了此代码
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>
通过而不是singleTask
传递新的意图。onNewIntent()
onCreate()
有关详细信息,请参阅<activity> 。