Android Studio安卓开发如何按钮退出程序(所有的Activity)
只需要一个专门的集合对所有的Activity进行管理
(kotlin版本)

1. 新建一个单例类ActivityCollector作为Activity的集合

/* 单例类ActivityCollector作为Activity的集合,对所有的Activity进行管理 */

object ActivityCollector {
private val activities=ArrayList<Activity>()

/* 用于向ArrayList中添加Activity */
fun addActivity(actity:Activity){
activities.add(actity)
}

/* 用于从ArrayList中移除Activity */
fun removeActivity(actity: Activity){
activities.remove(actity)
}

/* 用于将ArrayList中存储的Activity全部销毁 */
fun finishAll(){
for (activity in activities){
if (!activity.isFinishing){
activity.finish()
}
}
activities.clear()
}
}

2. 新建Class取名BaseActivity,添加代码让其继承AppCompatActivity,并重写onCreat()方法,重写onDestroy()方法

open class BaseActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ActivityCollector.addActivity(this)
}

override fun onDestroy() {
super.onDestroy()
ActivityCollector.removeActivity(this)
}
}

3. 让所有Activity继承BaseActivity,由于BaseActivity继承自AppCompatActivity,所以所有Activity现有功能都不受影响

class MainActivity : BaseActivity()

4. 设置按钮的点击事件,只需调用ActivityCollector的finishAll方法

//退出程序
set_close.setOnClickListener {
ActivityCollector.finishAll()
}