Java 创建活动的登录类型并强制将其作为唯一的开始点

Java 创建活动的登录类型并强制将其作为唯一的开始点,java,android,android-activity,Java,Android,Android Activity,我一直在做我的研究,但我觉得好像我错过了什么 我有一个带有登录名的应用程序。每次打开应用程序时,都应该强制您通过该登录页面。除了登录外,您永远不能继续进行任何活动 在我的舱单上 android:clearTaskOnLaunch="true" 在我希望用作登录活动的主活动上 及 以及 android:excludeFromRecents="true" 关于其他的活动 当您从登录转到另一个活动、点击主页并通过图标重新启动应用程序时,可能会出现这种情况。它应该跳回

我一直在做我的研究,但我觉得好像我错过了什么

我有一个带有登录名的应用程序。每次打开应用程序时,都应该强制您通过该登录页面。除了登录外,您永远不能继续进行任何活动

在我的舱单上

        android:clearTaskOnLaunch="true"
在我希望用作登录活动的主活动上

以及

        android:excludeFromRecents="true"
关于其他的活动

当您从登录转到另一个活动、点击主页并通过图标重新启动应用程序时,可能会出现这种情况。它应该跳回登录页面,但它没有。有什么想法吗

我也一直在作为常规apk安装,而不是通过eclipse,因为我知道eclipse和一些清单属性存在问题


如果有一种方法可以检测到活动启动来自应用程序图标按下,我可以用这种方法进行管理,但我认为这也不可能。

最简单、最快的方法可能是用finish()终止活动;在其onPause()中,因为这是在将应用程序置于后台时调用的


也可以使用XML配置解决问题,但这不是我熟记的。

最简单、最快的方法可能是使用finish()终止活动;在其onPause()中,因为这是在将应用程序置于后台时调用的


也可以使用XML配置解决问题,但这不是我熟记的。

onResume
onRestart
中,您可以检查一系列标志,例如登录超时,然后使用
意图强迫用户返回登录活动,同时完成原来的活动

我喜欢这种方法,或者只是在
onPause
onStop
中完成应用程序,因为它让你有机会在盲目关闭应用程序之前进行一些检查

或者,您可以尝试在清单文件中使用
android:noHistory
标记

值“true”表示活动不会留下历史痕迹。它将不会保留在任务的活动堆栈中,因此用户将无法返回到它

还有其他标签,例如,
android:finishOnTaskLaunch

当用户再次启动其任务(在主屏幕上选择任务)时,是否应关闭(完成)活动的现有实例?如果应关闭,则为“真”;如果不应关闭,则为“假”。默认值为“false”


此处的更多信息:

onResume
onRestart
中,您可以检查一系列标志,例如登录超时,然后使用
意图强迫用户返回登录活动,同时完成原始活动

我喜欢这种方法,或者只是在
onPause
onStop
中完成应用程序,因为它让你有机会在盲目关闭应用程序之前进行一些检查

或者,您可以尝试在清单文件中使用
android:noHistory
标记

值“true”表示活动不会留下历史痕迹。它将不会保留在任务的活动堆栈中,因此用户将无法返回到它

还有其他标签,例如,
android:finishOnTaskLaunch

当用户再次启动其任务(在主屏幕上选择任务)时,是否应关闭(完成)活动的现有实例?如果应关闭,则为“真”;如果不应关闭,则为“假”。默认值为“false”


此处的更多信息:

是否有方法检测按下应用程序图标的意图?这是我现在唯一难以保护的一点。每次通过图标打开时,无论您是在5秒前还是5天前登录,都应该强制您重新登录。是的,您可以在启动活动的意图中使用意图来
putExtra
数据,这可以在正在恢复的活动中使用
hasExtra
作为某种“参数”。通过这种方式,您可以检查活动从何处开始。例如,这:我不能把任何额外的,如果它来自发射器。基本上,你的建议是在我所有的意图中添加额外的内容,并检查它是否在那里,如果没有,则重新启动主活动。那好像是一大堆工作。必须有一种更好的内置方式来管理像这样简单的东西。是的,我最初的解决方案可以工作,但实际上只有在小规模的应用程序中才可行。尝试在清单中使用
android:noHistory
android:finishOnTaskLaunch
。这对我也不好。对于noHistory,如果你回击,它会直接跳转到启动器。有没有办法检测到按下应用程序图标的意图?这是我现在唯一难以保护的一点。每次通过图标打开时,无论您是在5秒前还是5天前登录,都应该强制您重新登录。是的,您可以在启动活动的意图中使用意图来
putExtra
数据,这可以在正在恢复的活动中使用
hasExtra
作为某种“参数”。通过这种方式,您可以检查活动从何处开始。例如,这:我不能把任何额外的,如果它来自发射器。基本上,你的建议是在我所有的意图中添加额外的内容,并检查它是否在那里,如果没有,则重新启动主活动。那好像是一大堆工作。必须有一种更好的内置方式来管理像这样简单的东西。是的,我最初的解决方案可以工作,但实际上只有在小规模的应用程序中才可行。尝试使用
android:noHistory
        android:excludeFromRecents="true"