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程序设计有一定的借鉴价值。

时间: 2024-10-23 23:17:26

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

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

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

android 应用退出时,虚拟机退出了吗

问题描述 android 应用退出时,虚拟机退出了吗 网上有文章说道:(1)线程分为daemon线程和user线程.主线程是user线程,通常新创建的线程会从创建它们的线程中继承daemon状态.user线程创建的线程都是user线程.如果虚拟机中只有Daemon thread 在运行,则虚拟机退出. (2) Activity不能够管理线程,当Activity退出后,线程依然在运行 Runtime.getRuntime().addShutdownHook(new Thread(){ @Overr

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

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

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

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

WebView加载有声音的网页时,退出时关闭声音

很简单的一句代码,但是不常用WebView的话,可能会忘记.在此标记一下,防止忘记,也给不知道的朋友提供帮助 webView.destroy(); 在你需要销毁WebView的时候调用它. 当ListView里面有WebView,怎么办? 我有一个方法如下: 定义一个静态的List,泛型为WebView; public static List<WebView>webs=new ArrayList<>(); 在ListView的getView方法内,这样做: webs.add(web

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

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

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

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

android 完全退出应用程序实现代码_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 完全退出应用程序实现代码

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,最后退出应用程序.但