应用程序内部任意界面退出程序
创建工具类如下:
package com.example.hxd.gittest;
import android.app.Activity;
import java.util.ArrayList;
import java.util.List;
/**
* 统一退出程序的操作
*/
class ActivitySetting {
//创建集合存储打开的Activity
static List activityList = new ArrayList<>();
//添加打开的Activity到集合
static void addActivity(Activity activity) {
activityList.add(activity);
}//移除集合内部的Activity
static void removeActivity(Activity activity) {
activityList.remove(activity);
}//关闭所有的Activity
static void finishAllActivity() {
for (Activity activity : activityList) {
if (!activity.isFinishing()) {
activity.finish();
//杀死当前应用进程
android.os.Process.killProcess(android.os.Process.myPid());
}
}
}
}
在BaseActivity内部添加如下代码:
package com.example.hxd.gittest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class BaseActivity extends AppCompatActivity {@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
//添加当前操作的Activity到集合内部
ActivitySetting.addActivity(this);
}@Override
protected void onDestroy() {
super.onDestroy();
//移除无用的Activity
ActivitySetting.removeActivity(this);
}
}
【应用程序内部任意界面退出程序】具体Activity内部代码如下:
btnSecond.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//点击按钮退出程序,杀死进程
ActivitySetting.finishAllActivity();
}
});
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- VueX(Vuex|VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)
- Java|Java 内部类
- 热点文章|鸢尾花预测(如何创建机器学习Web应用程序())
- 【机器学习】数值分析(1)——|【机器学习】数值分析(1)—— 任意方程求根
- 马云在阿里内部来了这么一手,果然厉害!
- 小组内部金句接龙4
- 【第8篇|【第8篇 觉心】假如在人生的时间轴上任意游走
- 为什么内部类中访问局部变量,局部变量需要final修饰
- java-内部类