0

Any.Do 样式“提醒”对话框...(是的,白色的,正在系统范围内显示);我该怎么做呢?

我启动一个带有半透明主题的 ACTIVITY X ,所以我需要用标志“NEW_TASK” 和“ singleTask”启动它,以便在后台没有之前的 ACTIVITY N。

现在我想做以下事情:

当在此 ACTIVITY X 上按下主页按钮或后退按钮时,我不想再将它放在“后台堆栈”中。就像它走了。因此,当应用程序再次从启动器(或任务切换器)启动时,它应该将您带回到不同的活动(活动 N)。

它现在做了什么:当再次从启动器中选择应用程序时,这个应该消失的特定 ACTIVITY X(是的,我在 onPause() 中调用了 finish())回来活着......总是。

我该如何存档?

编辑: 一些代码:

<activity 
               android:name=".ActivityX"
               android:theme="@android:style/Theme.Translucent.NoTitleBar"
               android:label="@string/app_name"
               android:launchMode="singleInstance"
               android:noHistory="true"
               ></activity>

以及调用此活动 x 的意图:

Intent intent = new Intent(getApplicationContext(), ActivityX.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY);

只是一个想法: 启动一个服务而不是弹出一个对话框会更好吗?因为这实际上是我想要“模拟”但系统范围内的行为......

4

2 回答 2

0

当你在做 startactivity(intent) 时。在那之后做一个finish()......这将完成活动并且不再存在于堆栈中。

于 2013-09-13T18:38:45.727 回答
0

将 android:noHistory="true" 添加到 Activity。

于 2013-09-13T18:47:07.147 回答