`

Android应用开发完全退出程序的通用方法!!!

 
阅读更多

大家好,好久不见了,我们在开发一个android应用时,有可能有N个Activity,而在每个Activity里的菜单里有个"退出程序"菜单,这里就要完全退出程序了,所以今天给大家分享的是Android应用开发完全退出程序的通用方法,以前我在网上收了几种方法,但都不能通用,比如:任务管理器方法(ActivityManager):

首先要说明该方法运行在Android 1.5 - 2.1 才可以(不过蛮好用的撒!),2.2以后就不行了,同时需要加如下权限:

用法只有如下两行代码:

上面要是2.2以后能通用就非常完美了,可是结果你懂得。。。

所以为了通用想到了另外一种方法,就是当我们点击“退出程序”菜单时,可以从当前Activity跳转到主Activity(就是我们打开程序最先启动的那个Activity),通过Intent告诉主Activity我要退出程序,然后主Activity调用finish()方法即可。由于这一过程很短暂,以致于我们没观察到Activity有任何切换就退出程序了!

同样为了让大家更容易理解,我做了一个Demo.为了省事,程序运行时我直接就从MainActivity跳转到BActivity,在BActivity有个“退出程序”菜单,点击会退出程序。具体过程如下:

首先第一步:新建一个Android工程,命名为ExitDemo(目录结构图如下)

第二步:定义一个工具类Sysutil用来退出程序,这样定义好处可以在多个Activity的时候复用,代码如下:

第三步:修改MainActivity.java,代码如下:

第四步:新建一个Activity命名为BAcivity.java,记得要在配置文件里申明哦~代码如下:

第五步:运行程序,直接进入了BActivity,点击菜单效果如下:

点击退出程序菜单,管你SDK是什么版本,就可以完全退出程序啦,有木有!有木有!呵呵~

这里要说明一下,如果我们的主Activity是单例模式的话,也就是launcheMode="singleTop|singleTask"如下面代码:

这时MainActivity执行了onNewIntent()方法,退出程序 在这里完成,以上只是我个人的片面理解,如果大家有更好的通用方法,可以告诉我,相互学习,谢谢大家!!!

分享到:
评论

相关推荐

    android应用基础框架

    在Android应用开发中,基础框架是非常关键的部分,它为应用程序提供了必要的结构和功能。本话题主要探讨了如何利用第三方开源库如XUtils3和Gson来构建一个通用的应用模板,涵盖了数据库管理、日志记录、应用退出逻辑...

    Android程序设计基础

    Android有望在数年内遍布于数百万部手机和其他移动设备中,从而成为应用程序开发人员的主要平台。无论你是业余爱好者还是专业程序员,无论你是自己玩玩还是为了盈利,都应该了解关于Android开发的更多信息。本书将...

    android底层(内核驱动)开发资料

    在Android系统中,底层开发主要涉及的是Android内核和硬件驱动程序的开发,这是一个至关重要的领域,因为它直接决定了系统的性能、稳定性和兼容性。本文将深入探讨Android底层开发中的关键知识点,包括内核架构、...

    android Tv

    二、Android TV 应用开发基础 1. **布局设计**:Android TV应用的界面需要适应大屏幕,通常采用横向布局,以便在宽屏幕上显示更多信息。使用Leanback库提供的组件,如BrowseFragment和DetailsFragment,可以快速搭建...

    Android-一个用于HOOK和FIXToastBadTokenException的Android库

    它可能适用于各种类型的Android应用,帮助开发者提高应用的稳定性和用户体验。 在压缩包中的文件名"PureWriter-ToastCompat-4e52caa"可能指的是这个库的一个版本,其中"PureWriter"可能是库的名字,"ToastCompat...

    Android 开发技巧

    1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 2.1.4、Activity 的跳转(含Bundle传值) 17 2.1.5.Actvity ...

    android 项目简单的基本配置

    在Android应用开发中,基础配置是每个项目必不可少的步骤,它为后续的开发工作提供了便利和规范。"android 项目简单的基本配置"这个主题涵盖了几个关键的组件和实践,包括`BaseActivity`、`BaseDialog`、全局进出...

    Android例子源码点击换肤例子整体背景更换.zip

    在Android开发中,换肤功能是一项常见的用户交互设计,它允许用户自定义应用程序的外观,提升用户体验。这个“Android例子源码点击换肤例子整体背景更换.zip”是一个演示如何实现这一功能的源代码示例。下面我们将...

    Android 串口编程实例

    `SerialDemo`是一个示例项目,用于演示如何在Android应用中实现串口通信。项目可能包含以下几个关键部分: - **初始化串口**:设置波特率、校验位、数据位和停止位,打开串口并进行配置。 - **数据发送**:通过...

    Android 广播传值

    BroadcastReceiver是Android四大组件之一,它能够监听并接收系统或应用程序发送的广播消息,包括字符串、整型等不同类型的数据。 一、BroadcastReceiver基本原理 BroadcastReceiver允许开发者注册接收特定的Intent...

    android蓝牙开发---与蓝牙模块进行通信.pdf

    此外,由于蓝牙通信可能会消耗大量电池,因此在不使用时应关闭连接,同时确保在应用程序退出时取消注册广播接收器以避免资源泄漏。 总之,Android蓝牙开发涉及蓝牙适配器的管理、设备的搜索、连接的建立以及数据...

    Android通用多个线程通信管理框架.pdf

    综上所述,通过Handler和Thread的结合使用,可以在Android应用中实现复杂的多线程通信和数据同步处理。这要求开发者必须对Android的消息处理机制有深入的理解,并在编码时注意线程安全、异常处理和资源的合理管理。

    MAC下android电视和手机的ADB链接调试

    该知识点不仅涉及到Android应用开发的基本工具使用,还涵盖了网络调试和USB调试的基本流程。 首先,我们需要了解MAC下安装ADB环境的具体步骤。开发者需要从指定的网络地址下载适用于MAC操作系统的adb和fastboot工具...

    基于微信小程序的资讯平台设计与开发.pdf

    微信小程序支持的资讯平台设计和开发,强调了资讯传播的速效性和通用性。资讯平台主要功能模块包括查看资讯、查看系统消息以及扩展功能等。在功能需求分析方面,资讯平台应具备快速响应用户需求的特点,能够向用户...

    东北大学 IP网关 andriod 客户端 源代码

    【标题】"东北大学 IP网关 andriod 客户端 源代码"涉及到的知识点主要集中在Android应用开发和网络通信技术上。这个项目是一个专门为东北大学设计的Android应用程序,目的是为了方便在校师生在寝室、教学馆等具有...

    android 仿iOS弹出框效果demo

    6. **主题和样式**:为了使Android弹出框更接近iOS风格,可以修改应用程序的主题或者为Dialog创建特定的主题。通过修改`styles.xml`文件,可以改变对话框的背景、边框、文字颜色等属性,使其更加符合iOS的视觉风格。...

    android 11.Android的类别继承与委托之范例

    假设我们正在编写一个简单的应用,该应用包含三个按钮:play、stop和exit,用于控制音乐的播放、停止和退出程序。 1.2.2.1 范例程序(1):单纯继承方法 在这个例子中,我们创建了一个名为ac01的Activity子类,它...

    android APP源码,登录第二个设备,就踢出第一个的登录

    在Android应用开发中,"android APP源码,登录第二个设备,就踢出第一个的登录"这一功能涉及到的主要知识点包括单用户登录机制、设备检测、实时推送以及通用的活动(Activity)基类设计。下面将详细阐述这些核心概念...

Global site tag (gtag.js) - Google Analytics