网上找了许多关于Android的Activity如何退出的方法,试了很多种方法都不行了,下面这种方法就是我最喜欢的,简单又易懂。
使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!
MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
public class MyApplication extends Application {
private List<Activity> activityList = new LinkedList<Activity>();
private static MyApplication instance;
private MyApplication() {
}
// 单例模式中获取唯一的MyApplication实例
public static MyApplication getInstance() {
if (null == instance) {
instance = new MyApplication();
}
return instance;
}
// 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}
// 遍历所有Activity并finish
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
System.exit(0);
}
}
|
在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中:
1
|
MyApplication.getInstance().addActivity(this);
|
在需要结束所有Activity的时候调用exit方法:
1
|
MyApplication.getInstance().exit();
|
分享到:
相关推荐
本文将介绍Android程序退出完美解决实现方法,兼容所有SDK,需要的朋友可以参考下
# mv /opt/android-sdk/platforms/android-25/android-7.1.1/* /opt/android-sdk/platforms/android-25/ # rm -rf /opt/android-sdk/platforms/android-25/android-7.1.1 官网下载地址:...
Android SDK (SDK Platforms)-android-25.zip
Android SDK (SDK Platforms)-android-28.zip
Android SDK (SDK Platforms)-android-34.zip
Android SDK (SDK Platforms)-android-30.zip
使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip
Android SDK (SDK Platforms)-android-31.zip
Android SDK (SDK Platforms)-android-29.zip
Android SDK (SDK Platforms)-android-32.zip
Android SDK (SDK Platforms)-android-19.zip
Android SDK离线包合集(Android 4.0-5.0)。不用去Google下载,直接国内下载离线包,各版本文件独立,任意下载。手机流量上传了一部分,好心疼。如不能下载,请告诉我更新地址。 附上简单教程。 这是Android开发所...
Android SDK (SDK Platforms)-android-24.zip
包含用于构建 Android 应用所需的所有工具。帮助打包Android打包 android sdk27版本,对应android8.1.0,复制到sdk\platforms文件夹下 便可直接使用
Android SDK (SDK Platforms)-android-27.zip
Android SDK (SDK Platforms)-android-26.zip
Android SDK (SDK Platforms)-android-21.zip
Android SDK (SDK Platforms)-android-33-ext4.zip
uni小程序 SDK android 组件化
将android-17.zip解压到 Android\android-sdk\platforms 文件夹下。