如果应用正在运行,如何强制执行活动?

时间:2010-01-22 08:13:54

标签: android android-activity

我从我的Widget开始一个Activity,它应该开始一个特殊的视图 但是,如果应用程序已在运行(不带后退按钮),则Android会激活上次显示的活动 是否有任何旗帜或其他方式来避免这种行为?
关闭之前的活动在我的应用程序中不会出现问题,没有用户输入会丢失 我尝试在onStop()中使用finish()进行解决方法,但是当调用子活动(startActivityForResult)时也会调用onStop,因此从那里返回会返回任何内容 - 应用程序将被关闭。

3 个答案:

答案 0 :(得分:1)

我也遇到了这个问题,并在我的每个活动声明中使用android:launchMode="singleInstance"解决了这个问题。

答案 1 :(得分:0)

在包含“特殊视图”的活动清单中尝试android:clearTaskOnLaunch="true"

答案 2 :(得分:0)

使用FLAG_ACTIVITY_NEW_TASK和主要活动添加:

调用意图
  

机器人:launchMode = “singleTask”   机器人:clearTaskOnLaunch = “真”

在其他人上添加:

android:finishOnTaskLaunch="true"

这样,它会在后台返回应用程序时终止任何活动。