首页 > 解决方案 > 能够在完成时返回到堆栈上的最后一个活动的验证屏幕,并在后按时完成整个应用程序

问题描述

我正在为在我的应用程序中创建验证屏幕的概念而苦苦挣扎(它正在刷新状态并要求用户提供有效的 PIN)

以下是该屏幕的两个重要导航要求:

我尝试过的: 似乎能够在活动完成时关闭整个应用程序(与所有以前的活动/屏幕),最后一个活动应该在附加标志android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK设置为的情况下启动Intent

但是,当验证屏幕以有效的 PIN 传递(并且验证活动通过调用完成)时,我如何保留整个先前的堆栈FragmentActivity.finish()

另一个概念是使用finishAffinity(),但是当之前的屏幕属于我的应用程序中的一些不同的亲和进程时,如何处理这种情况?我想关闭所有当前的亲和进程(当有多个时)

标签: android

解决方案


您可以控制用户单击背面的时间,因此对于流程成功的情况,您只需调用 finish() 即可完成。对于用户点击后退按钮的流程,您可以做的是启动一个新的虚拟活动,但将其称为单个顶部,删除之前和此类活动的创建方法上的所有其他活动,您可以调用 finish()。

这不是一个优雅的解决方案,但它应该可以工作


推荐阅读