android 退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())
或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C
三个Activity,而想在B 或C 中Activity 退出,调用上面的方法,往往会销毁当前的Activity 返回上
一个Activity。当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程
序。但这样比较麻烦,而且逐个返回的体验并不友好。

使用栈统一管理项目中的Activity。建立一个单例模式进行管理。代码如下:

import java.util.LinkedList;
import java.util.List;

import android.app.Activity;
import android.app.Application;

public class ExitApplication extends Application {


private List<Activity> activityList=new LinkedList<Activity>();

private static ExitApplication instance;

private ExitApplication()
{
}
//单例模式中获取唯一的ExitApplication 实例
public static ExitApplication getInstance()
{
if(null == instance)
{
instance = new ExitApplication();
}
return instance;

}
//添加Activity 到容器中
public void addActivity(Activity activity)
{
activityList.add(activity);
}
//遍历所有Activity 并finish

public void exit()
{

for(Activity activity:activityList)
{
activity.finish();
}

System.exit(0);

}
}

更多相关文章

  1. android 启动 service 的两种方法
  2. Android(安卓)WebView由于重定向造成的goBack()无效的问题解决
  3. Fragment的API学习笔记
  4. Android(安卓)数据业务框架分析
  5. Android调用WebService系列之请求调用
  6. Activity中的onSaveInstanceState()解析
  7. android 在listView中如果需要使用复选框功能,强烈建议使用图片作
  8. Android中Fragment的使用,切换和返回等问题-刘宇
  9. gifflen 调用以及错误处理

随机推荐

  1. android tcpdump
  2. android SDK编译版本修改
  3. Android支持multiDexEnabled,自建脚本编译
  4. Android中的Picasso实现圆角图片
  5. 去掉android的屏幕上的title bar
  6. android Handlerr.removeCallbacksAndMes
  7. Android(安卓)HAL 开发 (1)
  8. Android开发小技巧1
  9. Android(安卓)SQLite存取图像
  10. 【转】例子收藏