当应用不再使用时,通常需要关闭应用,可以使用以下两种方法关闭android应用:第一种方法:终止当前正在运行的Java虚拟机,导致程序终止System.exit(0);或者Runtime.getRuntime().exit(0);第二种方法:强制关闭与该包有关联的一切执行ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); manager.restartPackage(getPackageName());使用这种方式关闭应用程序需要加上权限<uses-permission android:name="android.permission.RESTART_PACKAGES" />第三种方式:抛出异常原理:在程序遇到非检查异常时,程序退被强制退出,那么虚拟器也将会被关闭, 所以利用一个非检查异常,退出程序,但会遇到一个问题,就是强制退出的对话框的出现,是不是很恶心?其实没有关系,可以不让系统弹出对话框,看代码
public void exit(){
Thread.currentThread().setUncaughtExceptionHandler(new java.lang.Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
//遇到不可抓取的异常会到这里来,就不会弹出对话框了,完美结局
//在这里最好让所有的activity全finish了,也另加入关闭进程的方法
}
});
String meIsNull = null;
//在这里肯定是空指针异常,遇到异常之后,执行上面的回调代码,就不会弹出对话框了
meIsNull.equals("空指针");
}
第四种方式:用一个集合自己管理activity 当一个activity创建的时候,把实例传递到那个管理activity的集合里,这个集合一般放在一个可全局访问的一个类内, 最好那个类继承Application,然后在menifest的<application>标签的属性name上加上自己写的application类,这个类是单例的。退出的时候,遍历集合让所有的activity finish掉,最后调用关闭进程的那个方法 ,加上
android.os.Process.killProcess(android.os.Process.myPid())
第六种方式:使用遍历的方式这种方式比较繁琐复杂,使用递归的方式,没当打开一个activity的时候都用startActivityForResult(),在onActivityResult()里接收结果关闭当前的activity,不推荐使用,太繁琐麻烦。加上
android.os.Process.killProcess(android.os.Process.myPid())
第五种方式:使用intent的flag实现原理:在android程序中,当打开一个activity的时候可以传进去这样一个flag:Activity.FLAG_ACTIVITY_CLEAR_TOP,当打开那个新的activity的时候,任务栈里的所有activity将会被清空,最后只剩下那个新的activity,然后在新的activity里使用finish()把自己销毁了就可以了。加上
android.os.Process.killProcess(android.os.Process.myPid())
分享到:
相关推荐
Android中实现再按一次返回键退出应用程序,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/64234676
退出app的两种方式 1 创建activity的基类,让所有的activity都继承该基类,在基类中创建一个静态的activity列表,并在oncreate方法添加该activity, 在退出时,遍历该list的activity,逐个关闭每一个activity,从而...
Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方法
Android怎样才能完全退出程序? 本Android程序解决了完全退出,引用context未释放引起的oom等问题。
如果想退出Android程序,一般都是调用finish()、System.exit(0)android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用程序的效果,...
Android应用开发多个activity完全退出程序方法,亲测可用
主要介绍了Android 退出应用程序的实现方法的相关资料,需要的朋友可以参考下
Android 返回键退出代码,第一次提示用户再按一次返回键退出,两秒钟内再按一次则退出程序,否则认为用户取消了退出操作!下下来就可以用,绝对好用哦~~~!!
Android中实现一键退出应用程序,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/62104900
使用android:process和Process.killProcess和UncaughtExceptionHandler完成Android应用程序不异常退出
android退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C三个Activity,而想在B或C中...
主要介绍了Android完全退出应用程序的方法,实例分析了Android退出应用程序的相关方法与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
Android彻底退出应用程序.doc
实现完全退出应用程序功能,停止所有应用程序的Activity,停止Service
我们在写android应用程序时,经常会遇到想退出当前Acitivity,或者直接退出应用程序.我之前的一般操作是按返回键,或者直接按home键直接返回,其实这两种操作都没有关闭当前应用程序,没有释放系统资源。有时跳转的...
Android 安全退出应用程序的方法总结 正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。 android.os.Process....
有一种需要,我们在菜单项中点击退出应用程序,应用程序就退出,不需要回到MainActivity设计:有两个应用界面MainActivity和BActivity,以及用于程序的通用类ExitUtil 步骤: 1、添加一个类,名为ExitUtil 代码如下:...
Android应用源码完全退出程序的方法.zip