关于一次退出多个Activity的方法

单个activity退出可直接调用finish(); 但是一次推出多个呢?

比如:我依次进入不同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是否可行-。-


   


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值