我有3项活动:
主要活动 - >开始活动2
活动2 - >如果完成开始活动3,则用MP播放声音
活动3 - >用MP播放另一个声音,如果完成开始Main。
现在我回到主要活动,点击返回按钮返回活动3,但是如果我点击主要活动中的返回,我想退出应用程序。 我怎么处理这个?
答案 0 :(得分:1)
使用finish()
方法启动下一个活动时,您可以完成这些活动。如果你这样做,你也不必开始使用。
活动堆叠在彼此之上。使用finish(),可以删除当前活动,从而将其从堆栈中删除。
活动3 - >完成后完成
活动2 - >在致电3
时完成主要
答案 1 :(得分:1)
将其添加到清单中的主要活动定义:android:launchMode="singleTask"
您的示例中发生的事情是,当您在每个级别调用startActivity
时,您正在向堆栈添加活动。如果您致电startActivity
返回主要活动,则只需将其添加到堆栈即可。但是,如果您不想担心从堆栈中弹出所有内容,可以将其添加到活动的清单条目中,系统会将主活动放在堆栈顶部并删除其上的任何其他内容。
这种方法比在所有活动中调用finish()
更简洁,因为您可能希望从活动3回到活动2。