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

youzoudashi 2016-08-02 04:38:53
我用的退出方法是 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 给清理掉,这是为什么呢?????
...全文
241 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sagittarius1988 2016-08-03
  • 打赏
  • 举报
回复
引用 2 楼 youzoudashi 的回复:
这个确实具有可行性,关键就是必须要在每个activity中监听相应的广播,然后在关闭,太麻烦了,还有其他的方法没?
不需要每个啊,只需要在基类BaseActivity里加一次就行,其它的Activity都继承BaseActivity
moonFY 2016-08-02
  • 打赏
  • 举报
回复
写个静态变量,开一个加一个进去,退出时全finish
youzoudashi 2016-08-02
  • 打赏
  • 举报
回复
这个确实具有可行性,关键就是必须要在每个activity中监听相应的广播,然后在关闭,太麻烦了,还有其他的方法没?
sagittarius1988 2016-08-02
  • 打赏
  • 举报
回复
写个BaseActivity,接收退出广播,然后啪啪啪全部主动finish,然后就退出了

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧