Activity完全退出
来源:互联网 发布:青岛网络电视台爱社区 编辑:程序博客网 时间:2024/06/07 17:05
程序有一个欢迎界面,有多个activity互相跳转,所以想要设置一个menu键之后又选择退出的项。
尝试了很多的方法,Android的activity在创建之后,也就是调用了onCreate函数之后就进入了一个栈区,将创建了的activity按顺序放进去,finish()和System.exit(0)只能结束当前activity,而不能结束所有。而网上大量流传的所谓终极方法:
表面上退出了程序进入了手机的主页面,但是当你再次打开此程序的时候就会发现记录了上次使用时的上一个activity,也就是说并没有真正意义的关掉其他的活动。
询问老师之后得知一个方法,就是在每个startActivity(intent);之前加上finish(this)来结束当前活动,这样子实现了menu功能。但是带来两个缺点:1、返回键直接退出 2、所有的activity每次跳转之后就关闭,也就是说再次创建时需要重新载入,慢而用户体验差。
最后,用了一个这样子的方法。
自己写了一个类,就是一个链表来存放所有创建了的activity。而在退出时将链表中的activity全部finish(),这样子就实现了完全退出功能,而且不影响返回键功能。代码如下:
package org.bei.aaa;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
public class ExitApplication extends Application {
private List<Activity> list = new ArrayList<Activity>();
private static ExitApplication ea;
private ExitApplication() {
}
public static ExitApplication getInstance() {
if (null == ea) {
ea = new ExitApplication();
}
return ea;
}
public void addActivity(Activity activity) {
list.add(activity);
}
public void exit(Context context) {
for (Activity activity : list) {
activity.finish();
}
System.exit(0);
}
}
然后在每个Activity的onCreate方法中调用 ExitApplication.getInstance().addActivity(this);,然后在处理退出请求中直接调用 ExitApplication.getInstance().exit(this);即可。
-
Intent startMain = new Intent(Intent.ACTION_MAIN); -
startMain.addCategory(Intent.CATEGORY_HOME); -
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -
startActivity(startMain); -
System.exit(0);
package org.bei.aaa;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
public class ExitApplication extends Application {
}
然后在每个Activity的onCreate方法中调用 ExitApplication.getInstance().addActivity(this);,然后在处理退出请求中直接调用 ExitApplication.getInstance().exit(this);即可。
0 0
- activity完全退出程序
- Activity 完全退出
- 完全退出Activity
- Activity完全退出
- Activity完全退出应用程序
- Activity 完全退出
- 管理activity 完全退出应用程序
- android开发完全退出activity
- Android完全退出程序,退出所有Activity
- 完全退出程序,退出所有activity
- android完全退出(关闭所有Activity)
- Android完全结束Activity并退出程序
- Android完全结束Activity并退出程序
- 多个Activity的完全退出
- android完全退出之结束全部Activity
- Android完全退出多个activity程序
- Android完全退出多个activity程序
- Android完全退出多个activity程序
- Ubuntu中root用户和user用户的相互切换
- Android应用:获取屏幕大小和密度
- Android Fragment 真正的完全解析(下)
- 框架服务器报错
- jstl中<c:forEach>的用法
- Activity完全退出
- 38. Element cloneNode() 方法
- 简易透明度和运动框架
- Numpy入门教程
- 如何在FreeRTOS-Plus-CLI中添加一个自己的命令行
- 数据库的分类
- 跟着淘宝卖家学转化 打造超高转化率的十大狠招
- 39. Element compareDocumentPosition() 方法
- 文本框点击事件