从小部件启动新活动会打开运行活动

时间:2014-02-01 18:22:04

标签: android android-intent android-widget

我从一个应用程序中有几个小部件,当用户单击小部件时,我想打开一个活动,他可以编辑该“注释”。我像这样开始活动:

Intent openCounter = new Intent(context, CounterEditActivity.class);
openCounter.putExtra(CounterEditActivity.COUNTER_ID, counter_id);
openCounter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(openCounter);

当整个应用程序运行时,它可以正常工作(单击主页按钮,单击小部件,单击主页,单击另一个小部件)。

当应用正在运行时,问题就开始了(它没有显示在任务管理器中)。然后,当您第一次单击窗口小部件时,它会打开正确的活动。但是,如果您单击主页并单击另一个小部件,它将从第一个小部件中打开已在运行的活动。

任何想法如何实现这种行为?

1 个答案:

答案 0 :(得分:1)

如果您的目标是在轻触窗口小部件时强制启动新活动,则可能需要添加其他标记:

openCounter.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

请注意,这只能从API级别11开始提供。

如果这没有帮助,请尝试添加

android:launchMode="singleTask"

清单中的CounterEditActivity活动标记,看看是否不会强制启动新活动。