kotlin代码
object ActivityManager{
private val actList = ArrayList<Activity>()
// 添加activity
fun addActivity(act: Activity){
actList(act)
}
// 移除activity(销毁)
fun removeActivity(act: Activity){
actList.remove(act)
}
// 销毁所有activity, 并结束进程
fun finishAll(){
for(act in actList){
if(!act.isFinishing){
act.finish
}
}
actList.clear()
// 结束当前程序的进程
android.os.Process.killProcess(android.os.Process.myPid())
}
}
// 用法: 在基类中添加和移除
open class BaseActivity : AppCompatActivity(){
override fun onCreate(saveInstanceState: Bundle?){
super.onCreate(saveInstanceState)
log.d("BaseActivity", javaClass.simpleName)
ActivityManager.addActivity(this)
// button
btn.setOnClickListener{ActivityManager.finishAll()}
}
override fun onDestroy(){
super.onDestroy()
log.d("BaseActivity", javaClass.simpleName)
ActivityManager.removeActivity(this)
}
}
java代码