Android程序中有多个Activity时的可全部退出方法

下面是代码。该方法的原理是用一个list记录每次启动的acitivity,在退出时候循环退出改list中保存的acitivity,这样就做到了所有的acitivity完美退出。

先写一个类继承Application

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();

只需这三步,就可以做到完美退出了。 很实用

时间: 2024-10-01 03:27:32

Android程序中有多个Activity时的可全部退出方法的相关文章

Cocos2d-x 3.2编译生成Android程序出错Error running command, return code: 2的解决方法

用Cocos2d-x 3.2正式版创建项目,结果使用cocos compile -p android编译生成APK程序,结果悲剧了,出现以下错误. Android NDK: Invalid APP_STL value: c++_static Android NDK: Please use one of the following instead:  system stlport_static stlport_static_hard stlport_shared stlport_shared_ha

关于Android中的四大组件(Activity)

一.Activity简述 Activity是Android应用中负责与用户交互的组件.在应用中创建自己的Activity需要继承Activity或者继承Activity的 子类. public class TestActivity extends Activity { } 二.Activity的使用 从图1.1可以看出Activity间接继承了ContextThemeWrapper.ContextWrapper.Context.Object这些基类,因此 Activity可以直接调用它们的方法.

android开发学习笔记(二)-activity的生命周期

一:activity的生命周期: 二:created->resumed 当一个应用程序的启动图标被用户点击后,应用程序开始从Activity的onCreate()方法开始执行.(当有多个activity文件时,执行Manifest文件中指定的主activity文件). 当执行完onCreate()方法后,迅速调用onStart(),onResume()方法,用户就可以进行相关的操作. 在onCreate()方法中尽量少执行操作,防止程序运行很久都进入不了界面. 三:Resumed->Pause

正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法

例如:一个android程序包含两个Activity,分别为MainActivity和OtherActivity,MainActivity为程序启动的Activity.如果程序正位于OtherActivity,点击home键,程序退回到桌面, 在次点击程序图标,程序默认会自动重启,即重新进入MainActivity,而不是进入点击home键的时刻程序所位于的OtherActivity. 解决方法: 在AndroidManifest.xml中修改,MainActivity的launchMode,去

程序开发使用地图API时需注意的问题(转)

最近在做一个基于地点提醒的移动应用,当初考虑大家都心知肚明的原因,谨慎的选择了百度地图,现在想想其实完全没有必要,好的应用本来就不分国界的,最后可能还是得换回Google地图.毕竟Google地图在技术和成熟度上完胜百度地图,当然百度也在慢慢追赶,希望有一天大家都能用上咱们自己的好用的地图服务. 现在把碰到的问题和解决方案罗列一下: 版权:如果是大量商用的话,还是得事先注意一下版权意识,不然到时候就很被动了.两者的免费版都不允许商业应用,具体可以看这里Google Maps API,百度API常

Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?

Activity.startActivities() 常用于在应用程序中间启动其他的Activity.TextUtils.isEmpty() 简单的工具类,用于检测是否为空.Html.fromHtml() 用于生成一个Html,参数可以是一个字符串.个人认为它不是很快,所以我不怎么经常去用.(我说不经常用它是为了重点突出这句话:请多手动构建 Spannable 来替换 Html.fromHtml),但是它对渲染从 web 上获取的文字还是很不错的.TextView.setError() 在验证用

Android程序Crash时的异常上报

转载请注明来源:http://blog.csdn.net/singwhatiwanna/article/details/17289479 前言 大家都知道,android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况.当crash发生时,系统会kill掉你的程序,表现就是闪退或者程序已停止运行,这对用户来说是很不友好的,也是开发者所不愿意看到的,更糟糕的是,当用户

处理Android程序运行时的配置变化

本篇文章翻译自Android官方文档Handling Runtime Changes,有翻译错误请留言告知,多谢. Android程序在运行期间设备的配置是可能发生改变的(例如屏幕的方向,键盘可用性,和语言等).当这些配置发生变化时,Android会重启正在运行的Activity(先调用onDestory(),紧接着调用onCreate()).这个设计是为了让你的程序在配置发生变化时,使用不同的资源自动去适配新的配置机器. 正确的处理重启,一件很重要的事就是通过Activity正常的生命周期去恢

空白Android程序基础,Manifest和Activity简介

AndroidManifest对活动进行注册 <activity android:name=".BackgroundDemo"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </int