文档章节

Android程序完全退出的三种方法 (第三种)

天空风
 天空风
发布于 2012/04/24 11:50
字数 449
阅读 490
收藏 4

很多网友可能发现自己的Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里Android123给大家三种比较简单的方法实现。

  首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看Android开发网是如何实现的吧.

  1. Dalvik VM的本地方法

Java代码

  1. android.os.Process.killProcess(android.os.Process.myPid())    //获取PID  

,目前获取自己的也只有该API,否则从/proc中自己的枚举其他进程吧,不过要说明的是,结束其他进程不一定有权限,不然就乱套了。

Java代码

  1. System.exit(0);   //常规java、c#的标准退出法,返回值为0代表正常退出  

 

 2. 任务管理器方法

   首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限android.permission.RESTART_PACKAGES,我们直接结束自己的package即 可,直接使用ActivityManager类的restartPackage方法即可,参数为package name,该类通过getSystemService(Context.ACTIVITY_SERVICE)来实例化ActivityManager对 象,这种方法系统提供的,但需要显示声明权限,所以使用中需要综合考虑。

 3. 根据Activity的声明周期

   我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志 Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。

 在A窗口中使用下面的代码调用B窗口

Java代码

  1. Intent intent = new Intent();  
  2. intent.setClass(Android123.this, CWJ.class);  
  3. intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG设置  
  4. startActivity(intent);  

© 著作权归作者所有

共有 人打赏支持
天空风
粉丝 1
博文 10
码字总数 17829
作品 0
海淀
程序员
私信 提问
加载中

评论(1)

syslight
syslight
最后那个很费解吧?到时候别人看代码,就不知道是为什么了~~~~
[Android] Android杀死进程方法

  1. android.os.Process.killProcess(pid)   只能终止本程序的进程,无法终止其它的   具体代码如下:   Process.killProcess(Process.myPid());Process.killProcess(Process.myPid(...

枫兮兮
2014/03/10
0
0
android 程序的几种退出方法

研究这个问题的时候是因为退出android程序的时候总是用finish(); ,我记得还有一种方法就是:System.exit(0); 代码中我正好想看看点击退出的时候,Activity的生命周期是怎么样的,于是在项目...

mutouzhang
2014/03/20
0
0
android 安全退出应用程序

正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。 android.os.Process.killProcess(and...

长平狐
2012/09/03
242
0
Android中全屏 取消标题栏,TabHost中设置NoTitleBar的三种方法

android默认标题栏比较不好控制,一般要去掉自定义 去掉标题栏的方法: 第一种:也一般入门的时候经常使用的一种方法 requestWindowFeature(Window.FEATURENOTITLE);//去掉标题栏 注意这句一...

carlos
2014/04/21
0
0
糊里糊涂学Android(2)——Activity隐藏标题及全屏

在大部分情况下,我们开发或使用的App都不需要Activity中原本的标题,都有自己独特或个性的标题栏,甚至有些App是全屏的。下面就来探究一下都有哪几种方法可以实现隐藏标题或全屏。 1.修改A...

笑缘心归
2014/03/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
42分钟前
1
0
hadoop垃圾回收站

在生产生,hdfs回收站必须是开启的,一般设置为7天。 fs.trash.interval 为垃圾回收站保留时间,如果为0则禁用回收站功能。 fs.trash.checkpoint.interval 回收站检查点时间,一般设置为小于...

hnairdb
昨天
1
0
腾讯与Github的魔幻会面背后的故事…

10月22日,腾讯开源管理办公室有幸邀请到Github新晋CEO Nat Friedman,前来鹅厂参观交流。目前腾讯已经有近70个项目在Github上开源,共获得17w stars,世界排名11位。Github是腾讯开源的主阵...

腾讯开源
昨天
7
0
单例模式

单例模式(Singleton pattern)属于创建型设计模式。 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对...

NinjaFrog
昨天
2
0
TypeScript基础入门之装饰器(三)

转载 TypeScript基础入门之装饰器(三) 继续上篇文章[TypeScript基础入门之装饰器(二)] 访问器装饰器 Accessor Decorator在访问器声明之前声明。 访问器装饰器应用于访问器的属性描述符,可用...

durban
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部