Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java any.do全系统范围内的“;“提醒对话框”;如何?_Java_Android_Android Activity - Fatal编程技术网

Java any.do全系统范围内的“;“提醒对话框”;如何?

Java any.do全系统范围内的“;“提醒对话框”;如何?,java,android,android-activity,Java,Android,Android Activity,任何。做样式“提醒”对话框。。。(是的,系统范围内显示的白色); 我该怎么做 我使用半透明主题启动活动X,因此我需要使用标志“新建任务” 以及“singleTask”,以避免前面的活动N出现在后台 现在我想做以下事情: 当按下此活动X上的主页按钮或后退按钮时,我不想再让它处于“后退”状态。就像它消失了一样。因此,当应用程序再次从启动器(或任务切换程序)启动时,它应该会将您带回另一个活动(活动N) 它现在的作用是: 当再次从启动程序中选择应用程序时,这个应该消失的特定活动X(是的,我正在onPau

任何。做样式“提醒”对话框。。。(是的,系统范围内显示的白色); 我该怎么做

我使用半透明主题启动活动X,因此我需要使用标志“新建任务” 以及“singleTask”,以避免前面的活动N出现在后台

现在我想做以下事情:

当按下此活动X上的主页按钮或后退按钮时,我不想再让它处于“后退”状态。就像它消失了一样。因此,当应用程序再次从启动器(或任务切换程序)启动时,它应该会将您带回另一个活动(活动N)

它现在的作用是: 当再次从启动程序中选择应用程序时,这个应该消失的特定活动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>
只是一个想法:
启动服务而不是弹出对话框更好吗?因为这实际上是我想要“模拟”的行为,但在系统范围内…

当你在做startactivity(intent)时。然后执行finish()…这将完成活动,并且堆栈中不再存在任何内容。

将android:noHistory=“true”添加到活动。

onPause
中,只需对活动调用
finish()
。但这只是隐藏了活动。再次单击应用程序图标时,前一个按钮不会返回。如果您按下“返回”按钮,并且再次启动时活动仍然存在,则会出现问题,因为“返回”按钮和调用finish()都会弹出“返回”按钮,可能是因为“新任务”标志?谢谢,但事实并非如此。Finish()不会从backback中删除活动。我不想从这个开始新的活动。当它停下来的时候,它永远不会活着回来。是的,这就是我尝试过的。不起作用。甚至在意图本身中设置一个标志:
intent.flag_ACTIVITY_NEW_TASK|intent.flag_ACTIVITY_NO_HISTORY
你把事情复杂化了。尝试删除所有其他内容并使用此标志。我需要使用新的任务标志来删除以前的“活动n”,因为它不是“系统范围覆盖”。否则,我们可以创建一个系统范围覆盖窗口。看看这个测试应用程序。是的,因为它是一个透明的系统覆盖,可以捕获所有输入。您可以使其透明并包装您的内容,使其不覆盖整个屏幕。
Intent intent = new Intent(getApplicationContext(), ActivityX.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY);