fix: 修复 ActivityStack 无法回退到指定 Activity 的问题

This commit is contained in:
Quyunshuo
2021-08-12 17:39:36 +08:00
parent f0b476d8f1
commit dae1263775

View File

@ -95,19 +95,13 @@ object ActivityStackManager {
* 返回到指定 Activity
*/
fun backToSpecifyActivity(activityClass: Class<*>) {
val activityList = activityStack.toList()
// 获取栈最上面的Activity
val lastElement = activityStack.lastElement()
val activityList = activityStack.toList().reversed()
activityList.forEach {
// 如果栈内存在该Activity就进行下一步操作
if (it.javaClass == activityClass) {
// 判断最上面的Activity是不是指定的Activity 不是就finish
if (lastElement.javaClass == activityClass) {
return
} else {
activityStack.remove(lastElement)
lastElement.finish()
}
return
} else {
activityStack.pop()
it.finish()
}
}
}