`
1320438999
  • 浏览: 130030 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android之退出整个应用方法之一

 
阅读更多

在Android应用开发中,难免会遇到需要完全退出整个应用的时候,我在网上也看了一下,感觉通过广播是个很好的方法,在这里,我用了另外一个方法,简而言之,通过单例模式把每个Activity 的引用添加到一个全局链表中,每次退出程序调用System.exit(0)时,先调用链表中Activity 的finish方法。直接上代码:

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.Intent;   
   
public class SysApplication extends Application {   
    private List<Activity> mList = new LinkedList<Activity>();   //用于存放每个Activity的List
    private static SysApplication instance;    //SysApplication实例   
   
    private SysApplication() {     //私有构造器,防止外面实例化该对象,
    }   
   
    public synchronized static SysApplication getInstance() {   //通过一个方法给外面提供实例
        if (null == instance) {   
            instance = new SysApplication();   
        }   
        return instance;   
    }   
   
    // add Activity    
    public void addActivity(Activity activity) {   
        mList.add(activity);   
    }   
   
    public void exit() {    //遍历List,退出每一个Activity   
        try {   
            for (Activity activity : mList) {   
                if (activity != null)   
                    activity.finish();   
            }   
        } catch (Exception e) {   
            e.printStackTrace();   
        } finally {   
            System.exit(0);   
        }   
    }   
   
    @Override   
    public void onLowMemory() {   
        super.onLowMemory();       
        System.gc();   //告诉系统回收
    }   
   
}  


在每个Activity的onCreate中添加下面代码,把每个创建的Activity添加到List中管理:

public void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);        
    SysApplication.getInstance().addActivity(this);   //创建Activity时,添加到List进行管理。
}  



在我们需要退出程序的时候执行下面代码:

SysApplication.getInstance().exit(); //调用退出方法

分享到:
评论

相关推荐

    解决android退出整个应用的例子

    在Android开发中,退出整个应用是...总之,Android退出整个应用的例子涉及对Activity栈的理解、生命周期的管理以及适当的方法选择。开发者应当谨慎处理这一功能,确保其符合Android的设计哲学,并提供良好的用户体验。

    Android退出整个应用的方法

    以上就是关于“Android退出整个应用的方法”的详细讲解。在实际开发中,应结合应用的具体需求和用户习惯来选择合适的退出策略,确保应用的稳定性和用户体验。同时,了解和掌握Android的Activity管理机制和生命周期是...

    Android编程之退出整个应用程序的方法

    本文实例讲述了Android编程之退出整个应用程序的方法。分享给大家供大家参考,具体如下: 我们在写android应用程序时,经常会遇到想退出当前Acitivity,或者直接退出应用程序.我之前的一般操作是按返回键,或者直接...

    android 退出应用之个人总结

    如果这个Activity是栈底的Activity,那么整个应用看起来就像是退出了。然而,如果栈中还有其他Activity,应用依然会在后台运行。 2. **System.exit(0)**:这是一个直接终止应用进程的方法,通过调用`System.exit(0)...

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

    但请注意,这并不意味着整个应用退出,因为可能还有其他Activity在后台运行。为了确保应用完全退出,可以在主Activity的onDestroy()方法中添加对System.exit(0)的调用,但这种方法并不推荐,因为它可能干扰Android...

    Android 退出应用程序的实现方法

    不过,在某些特定场景下,如教育软件或游戏,提供一个明确的退出选项可能是必要的,此时上述方法可作为解决方案之一。 总结来说,退出Android应用程序的正确做法应该基于对Android生命周期的理解和用户习惯的考虑。...

    Android 完全退出应用程序的解决方法

    在Android操作系统中,...同时,我们还需要在各个Activity中适当地处理退出请求,确保整个应用程序能够按照预期的方式完全退出。这个方法虽然相对复杂,但可以确保用户在点击“退出”后,应用程序不会继续在后台运行。

    Android应用源码之返回键退出程序的两种方式.zip

    - 若要实现按返回键退出整个应用,我们需要确保所有Activity都关闭。可以设置一个全局变量,记录Activity的数量,当数量为1时,表示只剩主Activity,此时按返回键应退出程序: ```java private int activityCount...

    Android完美退出程序

    1. **Activity**:它是Android四大组件之一,负责显示UI并处理与用户交互相关的事件。 2. **Application**:它作为整个应用程序的入口点,可以用来保存全局状态或进行初始化配置等操作。 3. **Lifecycle**:每个`...

    Android 实现在所有应用上显示View

    在Android开发中,实现“在所有应用上显示View”通常涉及到系统级插件化或Overlay技术,这是一种高级的Android编程技巧,它允许开发者在任何已安装的应用之上添加自定义的UI元素。这样的功能常见于一些浮动小部件、...

    Android程序的退出终于完美解决

    在Android开发中,应用程序的退出机制一直是开发者关注的焦点之一。不同于桌面应用,Android应用通常不会真正“退出”,而是进入后台运行状态,这主要是因为Android系统的资源管理和任务切换机制。然而,在某些场景...

    退出地图应用.zip

    在Android中,没有直接的API可以一键退出整个应用,但可以通过以下方式实现: 1. **杀死进程**:最简单直接的方式是调用`System.exit(0)`来结束应用程序的进程。然而,这种方法并不推荐,因为它可能会导致资源泄露...

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

    总的来说,实现“android退出所有Activity并且不弹出对话框”的功能涉及对Android Activity管理机制的理解,合理使用`finishAffinity()`或通过启动新的任务来清除任务栈。虽然这种方法可以快速退出应用,但应谨慎...

    Android应用源码之强行结束APP进程的方法-IT计算机-毕业设计.zip

    因此,可以通过在Activity的onBackPressed()或onFinish()方法中处理逻辑,关闭当前Activity,从而间接结束整个应用。 2. 使用Intent和FLAG_ACTIVITY_CLEAR_TASK和FLAG_ACTIVITY_NEW_TASK:通过设置这两个标志启动新...

    Android应用源码之android 自定义对话框.zip

    在Android开发中,自定义对话框(Custom Dialog)是一个重要的组件,它允许开发者根据应用程序的UI风格和功能需求创建独特且交互性强的弹出界面。本压缩包中的资源提供了关于如何在Android应用中实现自定义对话框的...

    退出程序提示,退出程序后关闭所有activity

    如果要退出整个应用,可以逐个调用所有活动栈中的Activity的`finish()`方法,或者在主Activity中添加一个退出按钮,然后在此按钮的点击事件中遍历并关闭所有Activity。 2. 使用`Intent.FLAG_ACTIVITY_CLEAR_TOP`...

    Android之SharedPreferences数据保存

    在Android应用开发中,数据持久化是一个至关重要的环节,它使得应用在关闭后仍能保留用户的设置或状态信息。SharedPreferences是Android系统提供的一种轻量级的数据存储方式,用于存储简单的键值对数据,如布尔值、...

Global site tag (gtag.js) - Google Analytics