为什么app在一键退出的时候退出不了

移动开发 码拜 5年前 (2016-05-22) 583次浏览
本人用的退出方法是 Android 关闭多个视图Intent.FLAG_ACTIVITY_CLEAR_TOP用法 。
现在本人有activity  a  , activity  b,  activity  c,activity d,    这四个activity  ,
首先在 activity  a 中 跳转到  activity b 中,
然后又由activity b 中跳转到activity c 中,
在由activity c中回到activity a  中
这时候本人在由activity a 中 用
Intent intent = new Intent();
intent.setClass(D.this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //这这儿设置的
startActivity(intent);
finish();
跳转到  activity d中 本人已经在activity d中的Manifest.xml配置成android:launchMode=”singleTop”
又在activity d 中调用了
Override
protected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
super.onNewIntent(intent);
//退出
if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) {
finish();
}
}
退出方法,  可运行的结果是,还是回到了activity c中说明这个Intent.FLAG_ACTIVITY_CLEAR_TOP根本没有把盏中的 a b c 给清理掉,这是为什么呢?????
解决方案

20

写个BaseActivity,接收退出广播,然后啪啪啪全部主动finish,然后就退出了

20

写个静态变量,开一个加一个进去,退出时全finish

20

引用:

这个确实具有可行性,关键就是必须要在每个activity中监听相应的广播,然后在关闭,太麻烦了,还有其他的方法没?

不需要每个啊,只需要在基类BaseActivity里加一次就行,其它的Activity都继承BaseActivity


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为什么app在一键退出的时候退出不了
喜欢 (0)
[1034331897@qq.com]
分享 (0)