`

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

阅读更多

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

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

1. Dalvik VM的本地方法

android.os.Process.killProcess(android.os.Process.myPid()) //获取PID,目前获取自己的也只有该API,否则从/proc中自己的枚举其他进程吧,不过要说明的是,结束其他进程不一定有权限,不然就乱套了。
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窗口

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

from:http://itmg-lee.iteye.com/blog/766130

分享到:
评论

相关推荐

    Android-完全退出程序的方法.zip

    Android-完全退出程序的方法.zip Android-完全退出程序的方法.zip Android-完全退出程序的方法.zip

    Android程序完全退出的方法

    本文将详细介绍几种实现Android程序完全退出的方法,并对每种方法进行深入解析。 #### 二、DalvikVM的本地方法:`android.os.Process.killProcess()` **方法概述:** `android.os.Process.killProcess()` 是一种...

    怎样完全退出android程序

    在Android中,如果想退出Android程序,一般都是调用finish()、System.exit(0)android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用程序...

    android 如何完全退出程序

    ### Android如何实现应用程序的完全退出 在Android开发中,实现应用程序的完全退出是一个常见的需求,尤其是在需要确保资源被正确释放,避免内存泄漏的情况下。本文将详细介绍如何通过使用单例模式和自定义`...

    Android完全退出程序方法

    本篇文章将深入探讨如何通过广播机制来实现Android程序的完全退出。 首先,我们需要理解Android的Activity栈管理机制。每当启动一个新的Activity,系统会将其压入一个全局的Task(任务)栈中。用户操作导致的回退...

    Android应用开发多个activity完全退出程序方法

    要实现多个Activity完全退出程序,我们可以采取以下几种方法: 1. **Override onBackPressed()**:在每个Activity的Java代码中重写`onBackPressed()`方法。在这个方法中,除了调用`super.onBackPressed()`来执行...

    ANDROID 应用完全退出

    然而,有时开发者或用户可能希望应用程序能够完全退出,以防止某些资源泄露或内存占用过高。本文将探讨如何在Android应用中实现完全退出,以及解决引用Context未释放导致的OOM(Out of Memory)问题。 首先,理解...

    android 完全退出程序

    在Android系统中,完全退出一个...总之,完全退出Android程序涉及对应用生命周期的理解、Activity栈的管理、Intent的使用以及处理后台组件。合理的设计和编程实践将确保应用既能满足用户需求,又能在必要时高效地退出。

    Android-完全退出程序的方法(源码).zip

    Android-完全退出程序的方法(源码).zip

    基于Android的完全退出程序的方法.zip

    在Android开发中,确保应用程序完全退出是一个常见的需求,特别是在用户希望释放系统资源或者节省电量时。本教程将探讨如何在Android应用中实现“完全退出”的功能。我们将主要围绕以下两个核心知识点进行深入讨论:...

    Android 程序安全退出

    3. **多Activity应用**:对于拥有多个Activity的应用,简单地在一个Activity上调用`finish()`可能不足以完全退出程序,因为其他Activity可能仍在后台。在这种情况下,可以通过广播或自定义事件来通知所有Activity...

    使用Application做android完全退出系统实例

    在Android开发中,有时我们需要实现一个功能,使得用户在点击某个按钮后,应用程序能够完全退出,包括清除所有活动栈中的Activity以及停止后台服务。这里我们将深入探讨如何利用`Application`类来实现这一功能,以及...

    安卓Android源码——完全退出程序的方法.rar

    在安卓(Android)平台上,开发应用时,有时我们需要提供一种机制让用户能够完全退出应用程序,关闭所有相关的活动(Activities)和服务。本资料“安卓Android源码——完全退出程序的方法.rar”可能包含了一些实现这...

    Android应用源码完全退出程序的方法.zip

    本资料包“Android应用源码完全退出程序的方法.zip”聚焦于如何在Android应用程序中实现这一功能。以下是关于这一主题的详细知识讲解: 1. **Activity生命周期**: Android应用基于Activity堆栈进行管理,每个...

    Android 完全退出程序,关闭所有Activity

    在Android应用开发中,完全退出程序意味着结束所有与应用程序相关的活动(Activity)并释放系统资源。用户通常期望点击“退出”按钮后,整个应用程序能够完全关闭,而不是仅仅停留在后台运行。下面我们将详细讨论...

    安卓Android源码——完全退出程序的方法.zip

    在安卓(Android)平台上,开发应用时,有时我们需要提供一种机制让用户能够完全退出应用程序,关闭所有相关的活动(Activities)和服务。本压缩包文件“安卓Android源码——完全退出程序的方法.zip”可能包含了一个...

    Android应用源码完全退出程序的方法-IT计算机-毕业设计.zip

    要实现完全退出应用,一种常见方法是重写Activity的onBackPressed()方法,这会在用户按下后退键时被调用。在该方法中,可以使用finishAffinity()或System.exit(0)来关闭所有Activity并结束进程。 ```java @Override...

    Android完全退出应用demo

    在Android中,有几种方法可以实现完全退出应用: 1. **销毁所有Activity**:最直接的方法是遍历正在运行的任务栈,逐个finish()每个Activity。这可以通过在主Activity(通常是第一个启动的Activity)中设置一个广播...

Global site tag (gtag.js) - Google Analytics