考虑有一个包含活动A,B,C的应用程序. A从启动器启动,B从A启动.B有一个按钮.我的要求是单击B上的按钮,应该清除活动堆栈A-> B的当前历史记录,并且历史记录堆栈中必须仅包含C.可以这样做吗?如果是这样,请告诉我…
提前致谢 !
解决方法:
尽管很乏味,但是可以通过使用Activity方法startActivityForResult(),setResult(),finish()和onActivityResult()启动来完成.
用伪代码:
A: startActivityForResult(B)B: startActivityForResult(C)C: startActivity(D); setResult(CLEAR); finish()D: ...B: (onActivityResult) setResult(CLEAR); finish()A: (onActivityResult) finish()
如果您愿意对体系结构进行一些更“自然”的更改,请使用FLAG_ACTIVITY_CLEAR_top,这是从A,B,C到A的简单方法.
第三种方法是将A,B和C设置为使用noHistory,但是那样一来,您将失去从C返回B或A的能力.
总结以上是内存溢出为你收集整理的android-如何清除堆栈历史记录?全部内容,希望文章能够帮你解决android-如何清除堆栈历史记录?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)