最新消息:文章中包含代码时,请遵守代码高亮规范!

Android安全退出Activity

Android Robin 8645浏览 0评论

当我们开发一个应用程序有很多界面的时候,该怎么安全退出程序?举个例子像UC浏览器打开很多网页,想退出应用总不能一直按返回键,所以在UC的菜单里有一个退出的按钮,直接退出整个应用。关于APP的安全退出,有如下几种方式:

1、抛异常强制退出:

该方法通过抛异常,使程序Force Close。

但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。

2、记录打开的Activity:

每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。

 

List<Activity> lists ; 在application 全集的环境里面

lists = new ArrayList<Activity>();

每一个activity在执行oncreate()方法的时候 lists.add(this);

结束的时候把当前Activity从集合中移除Ondestory() lists.remove(this);

当调用退出命令的时候,执行以下代码,遍历集合,循环退出

for(Activity activity: lists)

{

activity.finish();

}

3、发送特定广播:

在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。

给某个activity 注册接受接受广播的意图

registerReceiver(receiver, filter)

在需要关闭程序的时候,执行退出命令时,发送一个退出应用的广播,每个Activity接收到 关闭activity的广播就调用finish()方法 把当前的activity finish()掉。

4、递归退出

在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。

OnActivityResult();

5.干掉自己

安全结束进程 android.os.Process.killProcess(android.os.Process.myPid());

System.exit(0);       //常规java、c#的标准退出法,返回值为0代表正常退出

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/1223.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者wangbin的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情