首先问题是这样的,比如:我刚进入应用时有一个欢迎页面(E),随后进入主A,我从A->B->C->D,然后直接从D返回到A,在A中完全退出应用。对于android自带的1.5 - 2.1以及2.2之后完全退出应用的API我都试了,但还是实现不了,有的是能退出,但是欢迎页面就没有了,可能是我的原因。后来我是这样实现的,当然有点老土,但还是能实现的。如下,同样也欢迎拍砖

public class ExitApplication extends Application {
//存储已打开的Activity集合
private List<Activity> list = new ArrayList<Activity>();

//单例的ExitApplication,目的是在任何的Activity中用的都是同一个集合
private static ExitApplication ea;

private ExitApplication(){

}
public static ExitApplication getInstance(){
if(null==ea){
ea = new ExitApplication();
}
return ea;
}

/**
* 添加Activity到集合中
*/
public void addActivity(Activity activity){
list.add(activity);
}

public void exit(Context context){

Dialog dialog = new AlertDialog.Builder(context).setTitle("确认退出")
.setMessage("确定退出该系统?")
.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
for(Activity activity:list){
activity.finish();
}
System.exit(0);
}
}).setNegativeButton("取消",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
}

}).create();
dialog.show();
}
}
我这个必须是单例的,因为我要确保把每个UI都加进一个集合中,所以...,至于对单例有疑问的,可以上网查询,
然后在每个Activity的onCreate方法中调用ExitApplication.getInstance().addActivity(this);,然后在处理退出请求中直接调用ExitApplication.getInstance().exit(this);即可。

更多相关文章

  1. Android(安卓)tv 动画效果faq (放大动画 与ScrollView滚动照成 页
  2. Android实现左右滑动指引效果(使用ViewPager)
  3. 应用跳转(Deep Link)
  4. Android中应用锁的实现之账号盗取
  5. .net开发者对android第二周的学习体会
  6. 详解Android中那些酷炫返回方式的实现
  7. Android各种好看吐司设计
  8. 写了一个不太成功的“流氓”app~
  9. Android卸载程序之后跳转到指定的反馈页面

随机推荐

  1. Android(安卓)对话框(Dialog)【大全】
  2. Android(安卓)Visibility属性详解
  3. Android(安卓)开发环境准备(Ubuntu)
  4. 高级UI-事件传递
  5. Android(安卓)Timer的用法示例
  6. Android(安卓)P 以及之后版本不支持同时
  7. Android(安卓)4.0: 旋转屏幕时禁止Activi
  8. 使用本地仓库实现最新版ReactNative集成A
  9. Binder 简介
  10. Android(安卓)系统分区分析