[置顶] Android(安卓)怎么退出整个应用程序?__以及__按键事件捕获的问题?
16lz
2021-01-25
<a target=_blank href="http://app918.com"></a>
<a target=_blank href="http://app918.com">在开发Andorid程序的时候,难免会牵扯到退出整个应用程序的情况,怎么完全退出呢?请参阅下面的关键代码:</a>
<a target=_blank href="http://app918.com"></a>
<a target=_blank href="http://app918.com">import java.util.LinkedList; import java.util.List; import Android.app.Activity; import Android.app.AlertDialog; import Android.app.Application; import Android.content.DialogInterface; import Android.content.Intent; public class SysApplication extends Application { private List<Activity> mList = new LinkedList<Activity>(); private static SysApplication instance; private SysApplication() { } public synchronized static SysApplication getInstance() { if (null == instance) { instance = new SysApplication(); } return instance; } // add Activity public void addActivity(Activity activity) { mList.add(activity); } public void exit() { try { for (Activity activity : mList) { if (activity != null) activity.finish(); } } catch (Exception e) { e.printStackTrace(); } finally { System.exit(0); } } @Override public void onLowMemory() { super.onLowMemory(); System.gc(); } } </a>
在每个Activity的onCreate方法中添加类似代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SysApplication.getInstance().addActivity(this);
}
在需要退出程序的时候,调用:
SysApplication.getInstance().exit();
简而言之,通过单例模式把每个Activity 的引用添加到一个全局链表中,每次退出程序调用System.exit(0)时,先调用链表中Activity 的finish方法。
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- Android(安卓)WebView封装及定制js的alert,confirm和prompt对话
- Android(安卓)设置屏幕不待机
- android 基于BroadcastReceiver广播 完全退出应用的实现代码 亲
- Android集成微信SDK:微信分享
- Android之使用AIDL时的跨进程回调—Server回调Client
- Activity学习(一):生命周期
- android postDelayed 方法的简单使用
- 实现退出时关闭所有Activity的方法