如何安全退出已调用多个Activity的Application

 我来答
好程序员
2018-07-06 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部
1、抛异常强制退出:
  该方法通过抛异常,使程序Force Close。
  验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。

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

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

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

  除了第一个,都是想办法把每一个Activity都结束掉,间接达到目的。
  但是这样做同样不完美。
  你会发现,如果自己的应用程序对每一个Activity都设置了nosensor,在两个Activity结束的间隙,sensor可能有效了。
  但至少,我们的目的达到了,而且没有影响用户使用。

  为了编程方便,最好定义一个Activity基类,处理这些共通问题。
折柳成萌
高粉答主

2017-09-20 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6444万
展开全部
1、抛异常强制退出:
该方法通过抛异常,使程序Force Close。
验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。

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

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

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

除了第一个,都是想办法把每一个Activity都结束掉,间接达到目的。
但是这样做同样不完美。
你会发现,如果自己的应用程序对每一个Activity都设置了nosensor,在两个Activity结束的间隙,sensor可能有效了。
但至少,我们的目的达到了,而且没有影响用户使用。

为了编程方便,最好定义一个Activity基类,处理这些共通问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
观秀胜7169
2017-09-20 · TA获得超过145个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:277万
展开全部
使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式