zoukankan      html  css  js  c++  java
  • 【一找客户端】退出应用时,关闭所有activity

    在android中,Activity的生命周期一般是由系统进行控制的,即使我们能手都的进行finish()。 就利用这一点,来实现本文的功能。

    在退出整个应用的时候,关闭所有activity。

    多了不在说,都比较简单。 上代码,一看就懂。

    /**
    * activity管理器
    *
    @author suntony
    *
    */
    public class ATManager {

    //acticity打开列表
    private static List<Activity> activityList = new LinkedList<Activity>();

    public static void addActivity(Activity activity){
    activityList.add(activity);
    Log.d(Const.TAG, "ATManager.addActivity|activity="+activity+",activityList size="+activityList.size());
    }

    /**
    * 退出应用
    *
    @param context
    */
    public static void exitClient(Context context){
    for(int i=0; i < activityList.size(); i++){
    //如果某个activity已经被系统回收,他就为null了。
    if(null!=activityList.get(i)){
    //否则,手动调用关闭。
    activityList.get(i).finish();
    }
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);

    int version = 0;

    //获得系统版本
    if(Build.VERSION.SDK!=null){
    version = Integer.parseInt(Build.VERSION.SDK);
    }

    if(version < 8){
    activityManager.restartPackage("com.yizhao.activity");
    System.exit(0);
    }else{
    Log.d(Const.TAG, "version error, exit system fail!");
    }
    }

    }

    代码使用注意:

    • 在每一处启动activity的地方都要调用addActivity方法。
    • 在退出的地方调用exitClient方法。

    PS: 追后,还是附上【一找客户端】工程代码。注意查看代码:ATManager。

  • 相关阅读:
    服务器负载均衡的基本功能和实现原理
    二分查找
    TCP的运输连接管理
    linux常用命令
    XX公司在线笔试题编程题之一
    java对象转json格式
    Java多线程并发技术
    进程同步与通信
    单例模式的C++实现
    rsyncd启动脚本
  • 原文地址:https://www.cnblogs.com/xitang/p/2184924.html
Copyright © 2011-2022 走看看