歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 怎麼退出整個應用程序?

Android 怎麼退出整個應用程序?

日期:2017/3/1 11:08:54   编辑:Linux編程

在開發Andorid程序的時候,難免會牽扯到退出整個應用程序的情況,怎麼完全退出呢?請參閱下面的關鍵代碼:

  1. import java.util.LinkedList;
  2. import java.util.List;
  3. import Android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.app.Application;
  6. import android.content.DialogInterface;
  7. import android.content.Intent;
  8. public class SysApplication extends Application {
  9. private List<Activity> mList = new LinkedList<Activity>();
  10. private static SysApplication instance;
  11. private SysApplication() {
  12. }
  13. public synchronized static SysApplication getInstance() {
  14. if (null == instance) {
  15. instance = new SysApplication();
  16. }
  17. return instance;
  18. }
  19. // add Activity
  20. public void addActivity(Activity activity) {
  21. mList.add(activity);
  22. }
  23. public void exit() {
  24. try {
  25. for (Activity activity : mList) {
  26. if (activity != null)
  27. activity.finish();
  28. }
  29. } catch (Exception e) {
  30. e.printStackTrace();
  31. } finally {
  32. System.exit(0);
  33. }
  34. }
  35. @Override
  36. public void onLowMemory() {
  37. super.onLowMemory();
  38. System.gc();
  39. }
  40. }
在每個Activity的onCreate方法中添加類似代碼:
  1. public void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. SysApplication.getInstance().addActivity(this);
  4. }

在需要退出程序的時候,調用:

  1. SysApplication.getInstance().exit();

簡而言之,通過單例模式把每個Activity 的引用添加到一個全局鏈表中,每次退出程序調用System.exit(0)時,先調用鏈表中Activity 的finish方法。

Copyright © Linux教程網 All Rights Reserved