繁体   English   中英

清除整个历史堆栈并在 Android 上启动新活动

[英]Clear the entire history stack and start a new activity on Android

是否可以在堆栈上启动一个活动,清除它之前的整个历史记录?

情况

我有一个活动堆栈,可以是 A->B->C 或 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会采取使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,而不管它是否已经在堆栈中。 然后,屏幕 A 应该是我的应用程序堆栈中的唯一项目。

笔记

还有许多其他类似的问题,但我还没有找到任何可以回答这个确切问题的东西。 我尝试调用getParent().finish() - 这总是导致 null 指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅在活动已在堆栈上时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

在 Java 中:-

 startActivity(new Intent(getApplicationContext(),ChooseServiceActivity.class)
                        .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK));

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

是否可以在堆栈上启动一个活动,在它之前清除整个历史记录?

情况

我有一个活动堆栈,要么是 A->B->C 要么是 B->C(屏幕 A 选择用户令牌,但许多用户只有一个令牌)。

在屏幕 C 中,用户可能会执行使屏幕 B 无效的操作,因此应用程序希望将它们带到屏幕 A,无论它是否已经在堆栈中。 屏幕 A 应该是我的应用程序中堆栈上的唯一项目。

笔记

还有许多其他类似的问题,但我没有找到任何可以回答这个确切问题的内容。 我尝试调用getParent().finish() - 这总是导致空指针异常。 FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM