Android完全退出应用程序的方法

 更新时间:2015年09月22日 18:03:41   作者:Ruthless  
这篇文章主要介绍了Android完全退出应用程序的方法,实例分析了Android退出应用程序的相关方法与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android完全退出应用程序的方法。分享给大家供大家参考。具体如下:

在Android中,如果想退出Android程序,一般都是调用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用程序的效果,这是因为调用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())只能杀死当前的activity,并不能杀死所有的activity,为了完美达到此效果,接下来通过一个案例实现:

一、使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!

MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作

package com.hrtx.dd.activity;
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class MyApplication extends Application {
  private List<Activity> activitys = null;
  private static MyApplication instance;
  private MyApplication() {
    activitys = new LinkedList<Activity>();
  }
  /**
   * 单例模式中获取唯一的MyApplication实例
   * 
   * @return
   */
  public static MyApplication getInstance() {
    if (null == instance) {
      instance = new MyApplication();
    }
    return instance;
  }
  // 添加Activity到容器中
  public void addActivity(Activity activity) {
    if (activitys != null && activitys.size() > 0) {
      if(!activitys.contains(activity)){
        activitys.add(activity);
      }
    }else{
      activitys.add(activity);
    }
  }
  // 遍历所有Activity并finish
  public void exit() {
    if (activitys != null && activitys.size() > 0) {
      for (Activity activity : activitys) {
        activity.finish();
      }
    }
    System.exit(0);
  }
}

二、在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中

复制代码 代码如下:
MyApplication.getInstance().addActivity(this);

三、在需要结束所有Activity的时候调用exit方法
复制代码 代码如下:
MyApplication.getInstance().exit();

希望本文所述对大家的Android程序设计有所帮助。

相关文章

  • Android判断后台服务是否开启的两种方法实例详解

    Android判断后台服务是否开启的两种方法实例详解

    这篇文章主要介绍了Android判断后台服务是否开启的方法的相关资料,这里提供了两种方法及实例,需要的朋友可以参考下
    2017-07-07
  • Android时分秒计时器的两种实现方法

    Android时分秒计时器的两种实现方法

    这篇文章主要介绍了Android时分秒计时器的两种实现方法,分别是Chronometer控件和handler+timer+timerTask方式,非常不错,感兴趣的朋友一起看下吧
    2016-08-08
  • Android中协调滚动布局的实现代码

    Android中协调滚动布局的实现代码

    这篇文章主要介绍了Android中协调滚动常用的布局实现,类似这样的协调滚动布局,当底部列表滑动的时候,顶部的布局做响应的动作,我们都可以通过 AppBarLayout 和 MotionLayout 来实现,本文通过实例代码介绍的非常详细,需要的朋友参考下吧
    2022-06-06
  • Android 仿支付宝密码输入框效果

    Android 仿支付宝密码输入框效果

    模仿支付宝输入效果,实现很简单,就是画个矩形框和圆形,其他的通过组合view来实现所有功能,虽然简单但是封装起来,方便以后使用,也分享一下
    2016-12-12
  • Android通过AIDL在两个APP之间Service通信

    Android通过AIDL在两个APP之间Service通信

    这篇文章主要为大家详细介绍了Android通过AIDL在两个APP之间Service通信,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android进阶NestedScroll嵌套滑动机制实现吸顶效果详解

    Android进阶NestedScroll嵌套滑动机制实现吸顶效果详解

    这篇文章主要为大家介绍了Android进阶NestedScroll嵌套滑动机制实现吸顶效果详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Android实现图片九宫格

    Android实现图片九宫格

    这篇文章主要为大家详细介绍了Android实现图片九宫格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 退出Android程序时清除所有activity的实现方法

    退出Android程序时清除所有activity的实现方法

    这篇文章主要介绍了退出Android程序时清除所有activity的实现方法,详细分析了Android退出时清除activity的原理与实现技巧,需要的朋友可以参考下
    2016-04-04
  • Android NDK开发(C语言字符串)

    Android NDK开发(C语言字符串)

    这篇文章主要介绍了Android NDK开发 C语言字符串 ,主要以字符数组、字符指针及一些字符串常用的方法的方法未来全文展开内容,需要的朋友可以参考一下
    2021-12-12
  • 从0快速搭建一个实用的MVVM框架(超详细)

    从0快速搭建一个实用的MVVM框架(超详细)

    这篇文章主要介绍了从0搭建一个实用的MVVM框架,结合Jetpack,构建快速开发的MVVM框架,支持快速生成ListActivity、ListFragment,主要是基于MVVM进行快速开发上手即用,需要的朋友可以参考下
    2022-03-03

最新评论