Android实现退出时关闭所有Activity的方法

本文示例实现了Android退出时关闭所有Activity的功能,分享给大家供大家参考之用。具体方法如下:

一般来说,在Android退出时,有的Activity可能没有被关闭。为了在Android退出时关闭所有的Activity,这里给出了以下的类:

//关闭Activity的类
public class CloseActivityClass{ 

  public static List<Activity> activityList = new ArrayList<Activity>();

  public static void exitClient(Context ctx)
  {
   // 关闭所有Activity
   for (int i = 0; i < activityList.size(); i++)
   {
     if (null != activityList.get(i))
     {
       activityList.get(i).finish();
     }
   }
   ActivityManager activityMgr = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE );
   activityMgr.restartPackage(ctx.getPackageName());
   System.exit(0);
  }
}

然后在应用中每一个Activity的onCreate(Bundle savedInstanceState)方法中增加一句:

CloseActivityClass.activityList.add(this);

在应用退出时:

CloseActivityClass.exitClient(MainActivity.this);

这样,当退出应用时就可以将该应用的所有Activity彻底关闭。

相信本文所述对大家的Android程序设计有一定的借鉴价值。

(0)

相关推荐

  • Android 侧滑关闭Activity的实例

    Android 侧滑关闭Activity的实例 实现原因 其实侧滑关闭activity在网上也有大量的文章去介绍他,我也有去看,要么是代码实在太多看不下去,要么就是跑了项目没有反应的.唯一的方法还是自己随手鲁一个~,侧滑这个东西在Android中是比较少见的,iOS是最常见不过了,因为毕竟他们没有物理返回键.还有UIScrollView那些.然而我们用的最多的QQ也只是有个功能,并没有真正的滑动效果.至于微信的,我记得N久以前滑出了一个bug.也没什么印象了.估计也是极小的概率事件.于是,当初我

  • Android利用Intent启动和关闭Activity

    一.简介 Android应用程序中一般都有多个Activity,在Activity中,通过调用StartActivity方法,并在该方法的参数中传递Intent对象,就可以实现不同Activity之间的切换和数据传递. 通过StartActivity方法传递intent对象来启动另一个Activity时,可分为两类: l 显式启动:在创建的Intent对象中明确指定启动的是哪个Activity: l 隐式启动:安卓系统根据Intent的动作和数据决定应该启动哪个Activity. 1.显式启动A

  • Android中Activity滑动关闭的效果

    最近感觉有一个Activity关闭的效果挺不错的,就是手势滑动就可以关闭当前Activity,于是就想写一篇博客和大家一起分享下!废话不多说,老规矩,还先上效果图,更直观! 项目地址:https://github.com/xinyitiandi/SlidingFinishDemo 上代码: 1.第一个Activity: package com.ekeguan.slidingfinishdemo; import android.content.Intent; import android.os.B

  • Android仿微信activity滑动关闭效果

    Android仿微信activity滑动关闭功能 1.利用具体利用v4包下的slidingPaneLayout实现透明的activity,代码如下: BaseActivity: public class BaseSlideCloseActivity extends AppCompatActivity implements SlidingPaneLayout.PanelSlideListener { @Override protected void onCreate(Bundle savedIns

  • Android 关闭多个Activity的实现方法

    Android 关闭多个Activity的实现方法 总的来说有四种方法: 1.使用Application来进行关闭 public class App extends Application { private static List<Activity> lists = new ArrayList<>(); public static void addActivity(Activity activity) { lists.add(activity); } public static

  • Android实现退出时关闭所有Activity的方法

    本文示例实现了Android退出时关闭所有Activity的功能,分享给大家供大家参考之用.具体方法如下: 一般来说,在Android退出时,有的Activity可能没有被关闭.为了在Android退出时关闭所有的Activity,这里给出了以下的类: //关闭Activity的类 public class CloseActivityClass{ public static List<Activity> activityList = new ArrayList<Activity>(

  • android显示意图激活另一个Activity的方法

    android跳转到另一个界面,是app常用的操作.我们可以跳转到该应用本身的界面,亦可以跳转到系统的应用界面. 效果: 打开软件: 跳转到第二个界面: 跳转到系统应用的界面: 附代码如下: 主界面代码: package com.yy.twoactivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public

  • 详解Android中Intent传递对象给Activity的方法

    Activity回顾 activity是android程序中最重要的组件之一,它是用户与android用户交互的主要组件,类似于桌面程序的图形界面.android程序大致可以分为看的见的组件和看不见的service.看得见的组件主要就是在Activity中定义,看不见的service,包括service,BroadCastReceiver,ContentProvider等等,这是后话.今天先来大致了解一下activity. 可以理解activity为盛放组件的容器,和用户交互的组件都要放在Act

  • Android多渠道打包时获取当前渠道的方法

    作为Android app,发布多个分发平台是常规操作.然后,有时由于个渠道面对的用户不同,或平台审核标准不同,需要在各渠道使用不同的业务逻辑,这就需要根据渠道使用选择差异化代码. 这里把简单的代码记一下. 首先,分渠道打包很简单. 在项目的build.gradle里设置 android { ... productFlavors { home_site { dimension "money" manifestPlaceholders = [UMENG_CHANNEL_VALUE: &q

  • 退出Android程序时清除所有activity的实现方法

    本文实例讲述了退出Android程序时清除所有activity的方法.分享给大家供大家参考,具体如下: 在一个项目中,要退出android程序,试了restartPackage. killBackgroundProcesses .通过异常并在Application的子类中重新注册Thread的 Thread.UncaughtExceptionHandler接口+异常方式,等等,都没有效果. 最后发现其实只要在从一个activity A 跳到另一个activity B 时,调用了A的finish方

  • android 完全退出应用程序实现代码

    android退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效.如果有A,B,C三个Activity,而想在B或C中Activity退出,调用上面的方法,往往会销毁当前的Activity返回上一个Activity.当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程序.但

  • Android 中 退出多个activity的经典方法

    1.使用List集合方式 用list保存activity实例,然后逐一干掉 import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.Application; import android.content.DialogInterface; import android.content.Inte

  • android开发之关闭所有的activity的方法

    当app中打开了多个activity的时候,由于进入的比较深,所以,很多app不得不让用户一步一步退回到第一个界面(MainActivity),在一步一步退回的时候,逐个释放. 今天写kotlin来实现,在任意位置,直接退出应用的方法. 首先,每当打开一个 activity 的时候,需要有一个地方做记录,以便让一个循环遍历代码释放所有使用过的 activity 资源. 那么,建立一个数组.这里使用 MutableList,因为它有 add 和 remove 方法,很好用. var activit

  • Android一次性退出多个Activity的方法

    本文实例讲述了Android一次性退出多个Activity的方法.分享给大家供大家参考,具体如下: 因为android的API中没有提供一次性退出的接口所以想要在多activity的程序里面一次性退出的话就要费点功夫了.我是在一个单例对象里面记录activity栈中activity的引用然后在需要退出时遍历一遍finish()掉就可以了.实现步骤如下: 1.创建一个单例对象 package com.exit; import java.lang.ref.SoftReference; import

  • Android编程实现捕获程序异常退出时的错误log信息功能详解

    本文实例讲述了Android编程实现捕获程序异常退出时的错误log信息功能.分享给大家供大家参考,具体如下: 很多时候我们程序无缘无故的就挂掉了,让我们一头雾水,如果刚好我们在调试,那我们可以通过错误log来查看是什么原因引起的程序崩溃.但是当我们把程序发别人使用时,就没那么好运了,那我们要怎么样才能捕获到那个错误异常呢?还好Android给我们提供了UncaughtExceptionHandler 这个类,我们可以通过实现这个类的接口,来全局捕获那个让程序崩掉的错误log信息.可以将错误的lo

随机推荐