`

在 Android 中如何关闭应用以及所有的 Activity

 
阅读更多
在 Android 中如何关闭应用以及所有的 Activity

我的一个应用有很多的 Activity,在设置页中有一个删除帐号的按钮,我希望点击该按钮时清除所有保持的变量并退出应用程序。但我没找到一个简单的方法来退出应用,调用 Finish 方法只能退出当前的 Activity 。我想做的就是点击该按钮就关闭应用程序,那么下次我打开的时候就可以从第一个 Activity 开始。


可以利用清理历史栈的方法,来巧妙关闭所有activity,首先用一个设置为不可见的activity A来启动程序,这个activity A的作用只是用来垫栈底,只有启动和退出程序才回用到这个activity,在你需要退出的时候,只要跳转至这个activity A 

         Intent intent = new Intent();


         intent.setClass(B.this, A.class);     //B为你按退出按钮所在的activity

         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //最关键是这句

         startActivity(intent);

Intent.FLAG_ACTIVITY_CLEAR_TOP使得处于栈底的A发挥推土机的作用,从最底层把栈里所有的activity都清理掉,再在自己的oncreate方法加一句finish结束自己,即可实现退出。不放心的话,可以在A的ondestroy方法中加上system.exit(0) ,连跳转过程中的线程也可以终止的。
分享到:
评论

相关推荐

    Android利用Intent启动和关闭Activity

    在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity之间传递数据,实现应用内部或应用间的交互...

    Android之Activity应用小例子

    在Android开发中,Activity是应用程序的基本构建块,它代表了用户可以与之交互的界面。...通过学习这个小例子,开发者可以对Android应用的核心组成部分Activity有更深入的理解,为后续的Android开发打下坚实的基础。

    android中的窗口activity高级应用

    在Android开发中,Activity是应用程序的基本构建块,它充当用户界面的窗口。本文将深入探讨“Android中的窗口Activity高级应用”,包括对`Activity action`、`ActivityGroup`以及相关的技术点进行详细的阐述。 首先...

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

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

    全面解析Android应用开发中Activity类的用法

    在Android应用开发中,Activity是核心组件之一,它充当了用户界面与应用程序逻辑之间的桥梁。Activity类位于`android.app`包中,从`java.lang.Object`派生,并依次继承了`android.content.Context`、`android.app....

    Android 启动activity的4种方式及打开其他应用的activity的坑

    Android启动的四种方式分别为standard,singleTop,singleTask,...singleTask方式在活动启动的时候,系统先判定栈中是否有该活动的实例,如果没有这新建实例,如果有则将已有活动上面的栈都出栈。 singleI

    Android中知道界面是哪个activity,一次结束所有Activity退出程序

    在Android应用开发中,Activity是用户界面的基本单元,它负责展示屏幕上的内容和处理用户交互。当用户在应用中导航时,多个Activity可以按照栈(后进先出,LIFO)的方式堆叠起来,形成一个叫做任务(Task)的结构。...

    Android应用程序四大组件之Activity入门(Demo)

    总之,Activity是Android应用的核心组成部分,理解和掌握其生命周期以及如何与用户交互至关重要。通过"HelloActivityBasic"这样的基础示例,开发者可以逐步建立起对Activity的全面认识,并进一步探索更复杂的场景,...

    android一个应用的acitvity调用另一个应用的activity

    总结来说,实现从一个Android应用调用另一个应用的Activity涉及理解Intent、Intent Filter和AndroidManifest.xml的配置。同时,需要确保安全性和正确性,以提供良好的用户体验。通过上述步骤,你可以实现跨应用的...

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

    在Android应用开发中,用户可能需要在完成一系列操作后彻底退出程序,特别是在处理完敏感信息或者需要节省系统资源的情况下。通常,一个Android应用由多个Activity组成,每个Activity代表一个独立的屏幕或功能。当...

    Android高级应用源码-模拟Activity进出栈.rar

    在Android应用开发中,Activity是用户界面的基本组件,它负责展示屏幕上的内容并处理用户交互。这个"Android高级应用源码-模拟Activity进出栈.rar"压缩包文件提供了一个关于如何模拟Activity进栈(启动和显示)和...

    android退出所有Activity并且不弹出对话框实现

    在Android应用开发中,有时需要实现一个功能,即在用户操作后退出所有当前栈中的Activity,但不显示任何确认对话框。这个需求通常出现在用户点击退出按钮或者进行某些特殊操作时。本文将深入探讨如何实现这个功能,...

    Android activity-alias别名的使用

    在Android开发中,Activity是应用程序的基本组件之一,用于呈现用户界面并与用户交互。然而,有时候开发者可能需要在不改变原始Activity的基础上实现不同的功能或者提供不同的入口,这时Android系统提供的Activity...

    安卓安装卸载相关-Android中应用程序Activity管理类用于Activity管理和应用程序退出。.zip

    在Android开发中,我们有时需要跟踪或控制应用中的所有Activity,例如在退出应用时关闭所有打开的Activity。ActivityCollector可以通过维护一个Activity集合,当新的Activity启动时将其添加到集合中,当Activity销毁...

    Android应用源码之模拟Activity进出栈.zip

    在Android应用开发中,Activity是用户界面的基本组件,它负责展示屏幕上的内容并处理用户交互。本资源"Android应用源码之模拟Activity进出栈"主要关注如何管理和模拟Activity的生命周期,特别是它们如何按照栈...

    Android高级应用源码-各种Activity切换效果.zip

    【标题】"Android高级应用源码-各种Activity切换效果.zip" 涵盖了Android应用程序开发中的关键知识点,特别是关于Activity之间切换动画的实现。在Android系统中,Activity是用户界面的基本单元,它负责处理用户的...

    android:scheme 通过uri跳转到APP应用指定Activity

    在Android开发中,`android:scheme` 是一个关键的概念,用于构建自定义URL协议,使得外部应用或系统可以通过特定的URI来启动我们的应用程序中的特定Activity。这个特性在很多场景下非常有用,比如分享链接、广告点击...

    Android 销毁当前的Activity

    在 AndroidManifest.xml 文件中,我们可以在 Activity 元素中加入 `android:configChanges` 属性,例如: ```xml <activity android:name=".FileBrowser" android:label="@string/app_name" android:...

    android点击按钮实现多个Activity滑动切换

    在Android应用中,Activity是用户界面的基本单元,它负责与用户进行交互。当我们需要在不同的界面之间切换时,通常会创建多个Activity实例。然而,传统的Activity切换方式是通过Intent启动新的Activity并覆盖当前...

    android中的Activity启动方式

    在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用...

Global site tag (gtag.js) - Google Analytics