【发布时间】:2021-06-05 13:55:53
【问题描述】:
我有 4 项活动:
A->B->C->D
当我从 C 转到 D 时,我想完成 B 和 C,这样当我按下后退按钮时,活动 A 会恢复。有没有简单的方法来做到这一点?
【问题讨论】:
标签: android android-activity stack onactivityresult
我有 4 项活动:
A->B->C->D
当我从 C 转到 D 时,我想完成 B 和 C,这样当我按下后退按钮时,活动 A 会恢复。有没有简单的方法来做到这一点?
【问题讨论】:
标签: android android-activity stack onactivityresult
使用 Intent.FLAG_ACTIVITY_CLEAR_TASK 将目标活动设置为新根。此标志应与 FLAG_ACTIVITY_NEW_TASK 结合使用
class ActivityD : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_d)
}
override fun onBackPressed() {
Intent(this, ActivityA::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(this)
}
}
}
您可以使用以下 adb 命令(unix shell)查看活动 stask
adb shell dumpsys activity activities | sed -En -e '/Stack #/p' -e '/Running activities/,/Run #0/p'
【讨论】: