1

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

4

3 回答 3

1

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

于 2010-08-03T12:50:16.423 回答
0

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

于 2010-01-22T12:32:57.900 回答
0

使用 FLAG_ACTIVITY_NEW_TASK 调用意图并在主要活动上添加:

android:launchMode="singleTask" android:clearTaskOnLaunch="true"

在其他上添加:

android:finishOnTaskLaunch="true"

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

于 2011-06-07T14:42:10.337 回答