关于一次退出多个Activity的方法
2014-12-09 15:48
274 查看
单个activity退出可直接调用finish(); 但是一次推出多个呢?
比如:我依次进入不同Activity,A->B->C.(在A 进入B 在B 进去C)
若我在C activity返回键的时候,正常模式为退到了B activity,在返回键退到了A activity。然后再返回键退出应用
但是我想在C activity 按返回键时直接退出应用。
这就是具体问题的由来, 一次退出多个activity。
解决办法:
第一:在你的项目中导入此类,类名:SysApplication:
SysApplication.getInstance().addActivity(this); //添加当前Acitivity到ancivitylist里面去
在想退出的时候调用SysApplication.getInstance().exit();可直接关闭所有的Acitivity并退出应用程序。
(我是返回键事件退出,)
比如你要在C activity按键退出应用,则在C activity重写onKeyDown函数:
比如:我依次进入不同Activity,A->B->C.(在A 进入B 在B 进去C)
若我在C activity返回键的时候,正常模式为退到了B activity,在返回键退到了A activity。然后再返回键退出应用
但是我想在C activity 按返回键时直接退出应用。
这就是具体问题的由来, 一次退出多个activity。
解决办法:
第一:在你的项目中导入此类,类名:SysApplication:
<span style="font-size:12px;">package com.example.viewpage; //这个是我的包,改成你自己的包名 import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.Application; import android.content.DialogInterface; import android.content.Intent; public class SysApplication extends Application { private List<Activity> mList = new LinkedList<Activity>(); private static SysApplication instance; private SysApplication() { } public synchronized static SysApplication getInstance() { if (null == instance) { instance = new SysApplication(); } return instance; } // add Activity public void addActivity(Activity activity) { mList.add(activity); } public void exit() { try { for (Activity activity : mList) { if (activity != null) activity.finish(); } } catch (Exception e) { e.printStackTrace(); } finally { System.exit(0); } } public void onLowMemory() { super.onLowMemory(); System.gc(); } }</span>在你打开的每个acticity 的setContentView(R.layout.xx)前面(oncraet后)
SysApplication.getInstance().addActivity(this); //添加当前Acitivity到ancivitylist里面去
在想退出的时候调用SysApplication.getInstance().exit();可直接关闭所有的Acitivity并退出应用程序。
(我是返回键事件退出,)
比如你要在C activity按键退出应用,则在C activity重写onKeyDown函数:
<span style="font-size:14px;">@Override public boolean onKeyDown(int keyCode, KeyEvent event) {// 应用程序返回键的捕获 if(keyCode == KeyEvent.KEYCODE_BACK){//按返回键时 SysApplication.getInstance().exit();//调用此句代码 return true; } return true; } // @Override // protected void onDestroy() { // super.onDestroy(); // </span><span style="font-size:14px;">SysApplication.getInstance().exit();</span><span style="font-size:14px;"> } }</span>我不知道下边的ondestory是否可行-。-
相关文章推荐
- 一次退出多个Activity的方法
- 多个activity一次退出
- 关于startActivityForResult()方法后Activity直接退出的问题原因和解决办法
- Android退出多个activity和单个activity的方法
- 关于Android退出 Activity 和 退出已调用多个 Activity 的 Application方式及区别
- Android 一次退出所有activity的方法
- Android一次性退出多个Activity的方法
- Android一次退出所有Activity的方法(升级版)
- Android学习札记39:关于安全退出已创建多个Activity的应用(2)
- Android一次退出所有Activity的方法(升级版)
- 如何一次退出多个Activity
- 一次关闭多个activity最简单方法
- Android关于 手机返回键和代码finish()方法退出activity他们有什么区别;当activity使用共享动画时应该调用哪个方法,结束activity
- 关于调用startActivityForResult()方法后Activity直接退出的问题原因和解决办法
- Android 一次退出所有activity的方法
- Android学习札记40:关于安全退出已创建多个Activity的应用(3)
- Android学习札记38:关于安全退出已创建多个Activity的应用(1)
- Android 将List<Bean>数据写入文件,从文件中读取;以及多个 Activity 的退出方法
- XP下一次创建多个文件夹的方法
- [译]关于Activity和Task的设计思路和方法