Android程序中有多个Activity时的可全部退出方法
下面是代码。该方法的原理是用一个list记录每次启动的acitivity,在退出时候循环退出改list中保存的acitivity,这样就做到了所有的acitivity完美退出。
package com.zhaoba.service; import java.util.ArrayList; import java.util.List;
import android.app.Activity; import android.app.Application;
publicclassAgentAppextendsApplication
{ privateList<Activity> activities =newArrayList<Activity>();
privatestaticAgentApp instance;
privateAgentApp(){ } //单例模式中获取唯一的application
public static AgentApp getInstance()
{ if(null==instance)
{ instance=newAgentApp();
} return instance;
} //存放Activity到list中
publicvoid addActivity(Activity activity){ activities.add(activity); }
@Override //遍历存放在list中的Activity并退出
public void onTerminate()
{ super.onTerminate(); for(Activity activity : activities){ activity.finish(); }
android.os.Process.killProcess(android.os.Process.myPid()); }
}
然后在每个要acitivity的oncreate方法中添加下面的代码:
AgentApp.getInstance().addActivity(this);
最后在你要退出的界面执行下面的代码:
AgentApp.getInstance().onTerminate();
只需这三步,就可以做到完美退出了。 很实用
Android程序中有多个Activity时的可全部退出方法的更多相关文章
- Android 程序中得到root activity的引用
		
今天写anroid时,想获得一个root activity的引用. ios中这个很简单, [UIApplication sharedApplication].keyWindow 得到window对象, ...
 - Cocos2d-x 3.2编译生成Android程序出错Error running command, return code: 2的解决方法
		
用Cocos2d-x 3.2正式版创建项目,结果使用cocos compile -p android编译生成APK程序,结果悲剧了,出现以下错误. Android NDK: Invalid APP_S ...
 - android面试准备一之Activity相关
		
1.Activity生命周期 1.1 Activity的4种状态 running/paused/stopped/killed running:当前Activity正处于运行状态,指的是当前Ac ...
 - 正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法
		
正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法 例如:一个android程序包含两个Activity,分别为MainActivity和Other ...
 - Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?
		
ThumbnailUtils.extractThumbnail(bitmap, width, height); 压缩图片到指定大小的方法,以前都是一次次的createbitmap,然后用matrix去 ...
 - 退出Android程序时清除所有activity的实现方法
		
思路: 1. 自定义ActivityList管理类,添加删除维护该list; 2.Activity Stack 类似上面: 3.singleTask定义一个Activity为该启动模式,然后当返回时, ...
 - Android学习笔记(5)----启动 Theme.Dialog 主题的Activity时程序崩溃的解决办法
		
新建了一个Android Studio工程,在MainActivity的主界面中添加了两个按钮,点击其中一个按钮用来启动 NormalActivity,点击另一按钮用来启动DialogActivity ...
 - Android程序Crash时的异常上报
		
转载请注明来源:http://blog.csdn.net/singwhatiwanna/article/details/17289479 前言 大家都知道,android应用不可避免的会发生crash ...
 - 【转】如何在 Android 程序中禁止屏幕旋转和重启Activity
		
原文网址:http://www.cnblogs.com/bluestorm/p/3665890.html 禁止屏幕随手机旋转变化 有时候我们希望让一个程序的界面始终保持在一个方向,不随手机方向旋转而变 ...
 
随机推荐
- jQuery 实现前端模糊匹配与首字母搜索
			
实现效果 源码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
 - 【Unity Shader】一、顶点函数(vertex)和片元函数(fragment)
			
学习资料:http://www.sikiedu.com/course/37/task/430/show 学习Shader中顶点函数(vertex)和片元函数(fragment)的基本用法. Shade ...
 - mac下java环境变量配置
			
发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_profile,它有自己的配置 ...
 - android 开发第三库
			
http://blog.daimajia.com/android-library-collection/ http://www.apkbus.com/android-180062-1-1.html h ...
 - 【转】15个最受欢迎的Python开源框架
			
以下是伯乐在线从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python Web应用开发框 ...
 - tomcat添加context方式部署web应用
			
刚巧碰到了,记录一下. 通过context的方式部署会灵活一点,不必一定指向tomcat里面的webapps目录 这种部署有几种方式: 1.在$CATALINA_BASE/conf/ server.x ...
 - Git 基本概念
			
版本控制系统 (VCS) 版本控制系统 (VCS) 是软件,帮助软件开发人员携手合作,他们的工作并保持完整的历史. 以下是VCS目标 允许开发人员同步工作. 不要覆盖对方的变化. 维护历史的每一个版本 ...
 - Redis客户端连接
			
Redis接受上配置监听TCP端口和Unix套接字客户端的连接,如果启用.当一个新的客户端连接被接受,如有以下操作进行: 客户端套接字置于非阻塞状态,因为Redis的使用复用和非阻塞I/O操作. TC ...
 - 将windows控制台内容输出到文件中
			
将windows控制台内容输出到文件中 dir>c:/file.txt 2>&1 对应的java class >c:/file.txt 2>&1 ...
 - 解决studio的URI is not registered (Setting|Language&Frameworks|Schemas and DTDs)
			
高高兴兴过完国庆来上班,studio一打开发现布局文件跟不进去,点进去就到了R文件里,layout的文件里 xmlns:android="http://schemas.android.com ...