项目中的Activity统一管理 方便完全退出程序
android 退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())
或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C
三个Activity,而想在B 或C 中Activity 退出,调用上面的方法,往往会销毁当前的Activity 返回上
一个Activity。当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程
序。但这样比较麻烦,而且逐个返回的体验并不友好。
使用栈统一管理项目中的Activity。建立一个单例模式进行管理。代码如下:
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class ExitApplication extends Application {
private List<Activity> activityList=new LinkedList<Activity>();
private static ExitApplication instance;
private ExitApplication()
{
}
//单例模式中获取唯一的ExitApplication 实例
public static ExitApplication getInstance()
{
if(null == instance)
{
instance = new ExitApplication();
}
return instance;
}
//添加Activity 到容器中
public void addActivity(Activity activity)
{
activityList.add(activity);
}
//遍历所有Activity 并finish
public void exit()
{
for(Activity activity:activityList)
{
activity.finish();
}
System.exit(0);
}
}
更多相关文章
- android 启动 service 的两种方法
- Android(安卓)WebView由于重定向造成的goBack()无效的问题解决
- Fragment的API学习笔记
- Android(安卓)数据业务框架分析
- Android调用WebService系列之请求调用
- Activity中的onSaveInstanceState()解析
- android 在listView中如果需要使用复选框功能,强烈建议使用图片作
- Android中Fragment的使用,切换和返回等问题-刘宇
- gifflen 调用以及错误处理