zoukankan      html  css  js  c++  java
  • 【工具类】Android退出多个Activity

    // 不能把应用程序完全杀死,并且也不会把当前的Activity栈清空。

    android.os.Process.killProcess(android.os.Process.myPid())

     

    // 不会把自己的应用程序杀死。

    System.exit(0);

     

    // 可以杀死别的程序的进程,但是无法杀死自己的进程。

    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);   

    manager.restartPackage(getPackageName());

    <uses-permission android:name="android.permission.RESTART_PACKAGES" />

    【正确的使用方法】

    创建出来整个应用程序的 全局的实例。

    在整个应用程序的进程第一次被创建的时候 执行。

     1 import java.util.LinkedList;
     2 import java.util.List;
     3 import android.app.Activity;
     4 import android.app.Application;
     5 
     6 /** 8  * Title: ExitApplication.java</br> 
     9  * Description:退出APP </br> 
    10  * Create Date:2012-10-11 </br> History: <br/>
    11  * -------Date-----------Modifer-------------------Remark------------- 
    12  * 2012-8-7   DuanRan     create     
    13  * @author: duanran<br/>
    14  */
    15 public class ExitApplication extends Application {
    16     
    17     private List<Activity> activityList = new LinkedList<Activity>();
    18     private static ExitApplication instance;
    19 
    20     private ExitApplication() {
    21         
    22     }
    23 
    24     // 单例模式获取唯一的exitapplication
    25     public static ExitApplication getInstance() {
    26         if (null == instance) {
    27             instance = new ExitApplication();
    28         }
    29         return instance;
    30     }
    31 
    32     // 添加activity到容器中
    33     public void addActivity(Activity activity) {
    34         if(!activityList.contains(activity))
    35              activityList.add(activity);
    36         
    37     }
    38 
    39     // 遍历所有的Activiy并finish
    40     public void exit() {
    41         for (Activity activity : activityList) {
    42             activity.finish();
    43         }
    44         System.exit(0);
    45     }
    46     
    47     public void remove(Activity ar){
    48         activityList.remove(ar);
    49     }
    50 }

    在配置文件中,application中加入 android:name="ExitApplication".

    在Activity中调用:

    // 初始化的时候使用,把当前Activity添加进去
    ExitApplication.getInstance().addActivity(this);
    
    // 退出程序的时候,把所有Activity删除掉
    ExitApplication.getInstance().remove(this);
  • 相关阅读:
    IPC---信号量
    static的用法
    模拟对话框的实现
    Dom选择器使用与调试记录
    第一个javascript脚本
    javascript基础总汇
    overflow的量两种模式
    固定标签到页面
    固定标签到某个标签
    固定标签(position: fixed)
  • 原文地址:https://www.cnblogs.com/androidsj/p/2972994.html
Copyright © 2011-2022 走看看