`
flyjava
  • 浏览: 14182 次
  • 来自: ...
社区版块
存档分类

Android程序有很多Activity,在B中如何关闭整个Android应用程序

阅读更多
转发: http://songjch116.blog.sohu.com/155654039.html

Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢?  

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

  1. Dalvik VM的本地方法
Java代码

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

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



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

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

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

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

接下来在B窗口中需要退出时直接使用finish方法即可全部退出。
分享到:
评论

相关推荐

    Android中Activity切换动画

    Android中Activity切换动画,是非常常见的,在很多手机中,直接就有自带的效果,但是有些没有,我写了一个例子供大家下载,交流

    Android应用程序开发教程PDF电子书完整版、Android开发学习教程

    + Integrated browser: 一个基于开源的 WebKit 引擎的浏览器,在应用程序层。 + Optimized graphics: 包含一个自定义的2D 图形库和基于 OpenGL ES 1.0 标准的3D 实现。 + SQLite: 数据库 + Media support: 通用的...

    Android 完全退出当前应用程序的四种方法

    Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方法

    Android应用开发详解pdf.pdf

     第5章 Android基本程序单元ActivityAndroid 基本程序单元Activity,讲述了Android中重要组件Activity的创建、启动和生命周期等内容  续表  篇 名章 名内容简介  第二篇 技术篇第6章 Android组件之间的信使...

    Android 4.X手机/平板电脑程序设计入门、应用到精通_源代

    《Android 4.X手机/平板电脑程序设计入门、应用到精通(第2版)》9大特色: 丰富的Eclipse开发环境操作技巧,帮助初学者快速学会Eclipse的强大功能以及程序调试技术,同时讲解了很多程序编辑辅助功能,可大大提升...

    android activity的一些特效

    一个源代码,android activity的特效,里面包含了很多特效,觉得有用的可以看看

    Android中补间动画在activity切换时使用

    补间动画是Android中最常用的动画之一,在程序开发中使用很多,比如像activity的切换,泡泡窗口,对话框中使用往往会起到画龙点睛的效果,这个例子写的是在activity切换时,补间动画的使用

    android中activity转换的细节

    android中activity页面的转换通常需要主要很多方面的细节,在androidmanifest里面需要注册页面之间的节点才能实现页面转换,而这个Androidmanifest并不好找,找到这个页面我们具体要加什么代码也不好弄,本文告诉你...

    Android 使用Component跨应用程序访问

    Android Component跨应用程序访问,就是打开其他应用程序的activity。里面有两个项目,安装包。因为测试一个应用程序打开另外一个应用程序,所以测试需要同时安装这两个。我博客网址: ...

    【Android开发学习20】多个Activity间的交互之Intent -- 代码

    【Android开发学习20】多个Activity间的交互之Intent。一个很基础的程序,仅仅实现一个按钮,跳转到另一个Activity去。

    Android高级编程--源代码

    9.2.1 在应用程序中使用SMS 291 9.2.2 发送SMS信息 291 9.2.3 监听SMS消息 294 9.2.4 紧急响应的SMS示例 296 9.2.5 紧急响应自动化 306 9.3 小结 314 第10章 访问Android硬件 317 10.1 使用媒体API 317 ...

    新版Android开发教程.rar

    � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...

    android Fragment与Activity交互,互相发数据(附图详解)

    笔者近期看官方training,发现了很多有用又好玩的知识。其中,fragment与Activity通信就是一个。 fragment与Activity通信主要是两点: 1、fragment传递信息给Activity 此点是通过在fragment中定义接口与Activity共享...

    Android中为多个Activity同步设置相同的背景色

    该例子是在AndroidSDK1.6上实现的对多个Activity同步设置相同的背景色,该例子不是很复杂,对于想要实现对多个Activity同时设置其背景绝对是个很好的学习实例。希望能够帮到您!欢迎...

    Android 控制关闭Dialog

    我们添加的按钮不论是用setNegativeButton还是用setPositiveButton添加的按钮,点击的时候,都会关闭对话框,但是我们的一 些实际需求,就需要保留这个对话框不动,例如输入校验码,...而关闭后弹出对话框,就很别扭了

    Google Android SDK开发范例大全(完整版)

    Android 应用程序中一项流行的技术是链接到 Google 地图,以便在应用程序中显示地址。Android 软件栈还提供对基于位置的服务(例如 GPS)和加速计的支持,不过并不是所有的 Android 设备都配备了必需的硬件。另外...

    Android 实现两个Activity跳转实例

    本文主要介绍Android 多个Activity相互之间的跳转,认识Activity生命周期,在做Android编程的时候用处很大,希望能帮助有需要的小伙伴

    Google Android SDK开发范例大全 源码

    谷歌 Android 讲的很清楚,看得很模糊,这本书让你可以对Adnroid 看的很全面。抢占Android 市场,可能就在某个行业的将来抢占了一定的地位。 * 国内第一本全面介绍Android SDK的简体中文图书,目前为止最详细完整的...

    实验1:第一个Android程序.pdf

    总的来说AndroidStudio⽐Eclipse更要强⼤,同时通过AndoridStudio来进⾏Android项⽬开发是⼀种不可颠覆的趋势和潮流,毕竟 Eclipse可以做的东西很多,不够专注!⽽AndroidStudio只⾯向⼿机开发, 术业有专攻,在...

    Android 退出程序的若干方法总结

    Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢? 本人总结了几种比较简单的实现方法。1. Dalvik VM的本地方法 代码如下:...

Global site tag (gtag.js) - Google Analytics