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

STM32 HAL库状态机实现按键多事件检测(无阻塞高效处理) 本文详细介绍基于STM32 HAL库的状态机实现按键多事件检测方法,包括单击、双击等高效无阻塞处理。通过定时器中断和GPIO中断优化,结合状态机设计,显著提升系统响应效率和实时性,适用于嵌入式系统开发 阅读详情

大家好,好久不见了,我们在开发一个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()方法,退出程序 在这里完成,以上只是我个人的片面理解,如果大家有更好的通用方法,可以告诉我,相互学习,谢谢大家!!!

Python气象数据处理实战:用PyCINRAD轻松绘制雷达PPI图像(附避坑指南) 本文详细介绍了如何使用Python库PyCINRAD处理中国CINRAD系列天气雷达的基数据,并绘制专业的PPI图像。内容涵盖从环境配置、数据读取、核心绘图到高级定制与批量处理的完整流程,并针对安装依赖、中文乱码、数据范围等常见问题提供了实用的避坑指南,帮助气象工作者高效完成雷达数据可视化。 阅读详情

相关推荐

实现Android应用完全退出的多种策略

本文还有配套的精品资源,点击获取 简介:在Android开发中,根据用户需求确保应用程序完全退出,涉及到理解应用生命周期和使用不同的退出方法。教程将围绕应用生命周期和退出策略进行探讨,包括Activity生命周期管理、Intent标志位使用、杀死进程、利用BroadcastReceiver以及关闭Service和BroadcastReceiver等技术点。开发者需要在满足用...

weixin_42430341的博客 1686

Android 关闭应用程序的6种方法

1.方法一killProcess结束进程 android.os.Process.killProcess(android.os.Process.myPid());android中所有的activity都在主进程中,在Androidmanifest.xml中可以设置成启动不同进程,Service不是一个单独的进程也不是一个线程。当你Kill掉当前程序的进程时也就是说整个程序的所有线程都会结束,Ser

pcaxb的专栏 2万+

Excel简繁转换插件,可以让Excel像Word一样快捷的转换简繁字体

Excel简繁转换插件,可以让Excel像Word一样快捷的转换简繁字体。

Android快速退出APP的几种方式

定义一个栈,写一个自定义的MyApplication,利用单例模式去单独对Activty进行管理,在每个Activity的onCreate()方法中调用MyApplication.getInstance().addActivity(this)将当前的Activity添加到栈中统一管理,如果需要退出应用程序时再调用MyApplication.getInstance().exit()方法直接就完全退出了应用程序。这样,当发送广播时,MyApplication中的广播接收器就会接收到广播并退出应用程序。

ChenYiRan123456的博客 4427

Android退出应用方法 Exit App

测试过了以下代码,但是很多情况都无法正常退出APP。

翻车鱼的博客 1631

Android 关闭整个应用程序

当应用不再使用时,通常需要关闭应用,可以使用以下方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。 android.os.Process.killProcess(android.os.Process.myPid()) 第二种方法:终止当前正在运行的Java虚拟机,导致程序终止 System.exit(0); 第三种方法:强制关闭与该包有关联的...

如果爱,请深爱! 292

Android应用开发完全退出程序通用方法!!! (转)

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

开发简记 757

Android App 退出解决方案

1. Dalvik VM的本地方法android.os.Process.killProcess(android.os.Process.myPid()) //获取PID System.exit(0); //常规java、c#的标准退出法,返回值为0代表正常退出2. 任务管理器方法 首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限 android

飞天小牛的专栏 951

android彻底退出应用_Android退出应用程序方法总结

退出图在Android开发中,我们运行了应用程序后,都需要退出应用的,那么该如何退出应用,又都有哪些实现方式呢?今天就为大家整理分享一些退出应用程序的方法,一起来看看吧!更新内容Ver:v1任务管理器方法补充新增监听式退出方法Ver:v2任务管理器方法修正新增销毁任务栈退出方法1. finish方法finish();该方法只是结束当前Activity,系统将最上面的Activity移出了栈,并没有...

weixin_42509196的博客 3808

Android 如何关闭应用

当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。 (推荐) 应用情形(应用中的组件没有被其他应用所使用,只是自身使用了) [code="java"]android.os.Process.killProcess(android.os.Process.myPid())[/code] 第二种方法:终止当...

iteye_12293的博客 326

Android adb命令 关闭app 和 启动app 还有重启app命令

其中,package_name是您要启动的应用程序的包名,activity_name是您要启动的Activity的名称。其中,package_name和activity_name的意义与上面相同。其中,package_name是您要关闭的应用程序的包名。请注意,使用以上命令将会关闭您的应用程序并且丢失未保存的数据。在使用这些命令之前,请确保您已经保存了所有的工作。

ZQ200720的博客 1万+

Android 退出程序的几种姿势

方式一: 如果只是在首页,即主activity想退出手动退出程序的话,只要主activity在AndroidMainfest.xml中设置为android:launchMode="singleTask"模式即可然后在打开多级页面后,返回该activity时,只需要回到此页面,之前的多级页面也就自动关闭掉了。然后直接finish()掉即可。 方式二: 在开发过程中发现system.exit(0)或 Process.killProcess调用后,如果还存在activity,会导致程序杀死重启等很多问题。 首先在

wzj_what_why_how的博客 1198

android完全退出应用程序的三种方式

当应用不再使用时,通常需要关闭应用,可以使用以下两种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。  建议使用这种方式 android.os.Process.killProcess(android.os.Process.myPid())

com360的专栏 9185
上一篇: Android高手进阶教程(二十四)之---Android WebView的缓存!!!
下一篇: Android Activity的四种LaunchMode!!!
Android_Tutor
博客等级 码龄17年 1万+粉丝 122原创
评论 71
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值