android 开发 - 结束所有activity
每一个activity都有自己的生命周期,被打开了最终就要被关闭。
四种结束当前的activity方法
1 //关闭当前activity方法一 2 finish(); 3 4 //关闭当前界面方法二 5 android.os.Process.killProcess(android.os.Process.myPid()); 6 7 //关闭当前界面方法三 8 System.exit(0); 9 10 //关闭当前界面方法四 11 this.onDestroy();
但如果已经启动了四个Activity:A,B,C和D,
在D Activity里,想再启动一个Activity B,但不变成A,B,C,D,B,而是希望是A,B,而且B上的数据依然保留
- Intent intent = new Intent();
- intent.setClass(TableActivity.this, FrameActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);//设置不要刷新将要跳到的界面
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//它可以关掉所要到的界面中间的activity
- startActivity(intent);
如果已经启动了四个Activity:A,B,C和D,
在D Activity里,想再启动一个Activity B,但不变成A,B,C,D,B,而是希望是A,B,而且B上的数据不保留
- Intent intent = new Intent();
- intent.setClass(TableActivity.this, FrameActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//它可以关掉所要到的界面中间的activity
- startActivity(intent);
如果已经启动了四个Activity:A,B,C和D,在D Activity里, /想再启动一个 Activity B,但不变成A,B,C,D,B,而是希望是A,C,D,B,则可以像下面写代码:
- Intent intent1 = new Intent(TableActivity.this, FrameActivity.class);
- intent1.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
- startActivity(intent1);
如果已经启动了四个Activity:A,B,C和D,在D Activity里,想要一次性关闭所有的activity
创建一个专门用来处理activity的类
1 package com.layout; 2 3 import java.util.LinkedList; 4 import java.util.List; 5 import android.app.Activity; 6 import android.app.Application; 7 /** 8 * 一个类 用来结束所有后台activity 9 * @author Administrator 10 * 11 */ 12 public class SysApplication extends Application { 13 //运用list来保存们每一个activity是关键 14 private List<Activity> mList = new LinkedList<Activity>(); 15 //为了实现每次使用该类时不创建新的对象而创建的静态对象 16 private static SysApplication instance; 17 //构造方法 18 private SysApplication(){} 19 //实例化一次 20 public synchronized static SysApplication getInstance(){ 21 if (null == instance) { 22 instance = new SysApplication(); 23 } 24 return instance; 25 } 26 // add Activity 27 public void addActivity(Activity activity) { 28 mList.add(activity); 29 } 30 //关闭每一个list内的activity 31 public void exit() { 32 try { 33 for (Activity activity:mList) { 34 if (activity != null) 35 activity.finish(); 36 } 37 } catch (Exception e) { 38 e.printStackTrace(); 39 } finally { 40 System.exit(0); 41 } 42 } 43 //杀进程 44 public void onLowMemory() { 45 super.onLowMemory(); 46 System.gc(); 47 } 48 } 49
在每个activity被创建时加上
- SysApplication.getInstance().addActivity(this);
将该activity添加到list中去。
当你想关闭时,调用SysApplication的exit方法
- //关闭整个程序
- SysApplication.getInstance().exit();
转:http://java--hhf.iteye.com/blog/1826880
转载于:https://www.cnblogs.com/lihaibo-Leao/p/3529500.html
android 开发 - 结束所有activity相关推荐
- android开发中的 Activity 与 Context 区别与联系
Context 是 Application /Activity /Service的基类 Intent(Context , Class); Activity中的上下文Context是随着活动的产生而产生 ...
- Android开发:利用Activity的Dialog风格完成弹出框设计
转:http://www.linuxidc.com/Linux/2011-08/41933.htm 在我们使用Dialog时,如果需要用到很多自己设计的控件,虽然可以让弹出框显示出我们需要的界面,但却 ...
- Android开发--Service和Activity通过广播传递消息
Android的Service也运行在主线程,但是在服务里面是没法直接调用更改UI,如果需要服务传递消息给Activity,通过广播是其中的一种方法: 一.在服务里面发送广播 通过intent传送数据 ...
- android开发全然退出activity
我们退出Activity能够调用:finish(),system(0),可是这些都仅仅是单单退出单个Activity 也有人会说,直接把进程杀死,这些做法都不是非常可取.事实上我们翻看api能够发现. ...
- 【Android开发】 在Activity中使用Menu
在Activity中使用Menu Android给我们提供了一种方式,可以展示菜单的同时,还能不占用任何的屏幕空间 新建xml 首先在res目录下新建一个menu文件夹,右键res目录 - New - ...
- android开发学习——关于activity 和 fragment在toolbar上设置menu菜单
在做一个项目,用的是Android Studio 系统的抽屉源码,但是随着页面的跳转,toolbar的title需要改变,toolbar上的menu菜单也需要改变,在网上找了好久,也尝试了很多,推荐给 ...
- android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
转载:http://blog.csdn.net/xiabing082/article/details/48781489 1. 大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...
- Android 开发艺术探索 看不懂对着书敲慢慢理解,设计模式之禅总结,平时记录的笔记,3w多次字防止丢失,留存。
知识点1: 1.子线程为什么不允许访问ui因为android中的ui控件不是线程安全的. 2.为什么不给Ui加上锁的机制,第一点 会让ui访问的逻辑变得复杂,其次降低ui访问的效率. 3.List转化 ...
- android中的mvp模式怎么定义,详解MVP模式在Android开发中的应用
一.MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Mode ...
最新文章
- linux文件系统分隔符,Linux的哲学思想和文件系统
- 利用Python进行简单的图像识别(验证码)
- jar包在windows后台运行,通过.bat文件
- 电脑上交计算机作业怎么打开,上海交大计算机第一次作业-20210711011739.docx-原创力文档...
- 【clickhouse】docker安装clickhouse后本地无法连接
- 网络安全与管理精讲视频笔记10-Windows隧道模式IPSec配置实验演示
- Python 调用IDM下载器
- JPA注解@Enumerated映射枚举字段
- selenium不定位元素直接操作键盘之Keys.CONTROL
- 中国高端IC封装市场调查分析与投资趋势研究报告2022-2028年
- android 微信自动添加好友 项目开源
- 【苹果相册推】群发安装软件设备推送通知SSL允许证
- 那些黑科技感爆棚的可视化大屏,是怎么做出来的?模板直接套用
- 最新的 iPad开发项目 - Fotoboard for iPad
- 用latex排版中的对象旋转问题
- 漏洞复现----11、GlassFish任意文件读取
- python 如何提取 word 内的图片
- 2.4 矩阵的特征值与特征向量
- UE4让物体始终朝向摄像机(二)—RInterp To用法
- 计算机房挨着音乐教室用英语怎么说,四年级下册英语期末复习资料
热门文章
- 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个
- php pathinfo()函数
- .NET中的DES对称加密
- sqlserver 时间递增循环
- FreeBSD之netgraph简要解析
- GridView常用代码 (转)
- 平均值 oj 山东科技大学 c 语言作业
- resnet网络结构_ResNet网络详细解析(超详细哦)
- 搜狗浏览器收藏夹在哪_chrome谷歌浏览器收藏夹在哪_chrome收藏夹在电脑什么位置...
- Mac上显示出.m2文件夹并将IDEA中的Maven修改为阿里云镜像