如何完成所有活动,除了第一个活动? [英] how to finish all activities except the first activity?

查看:104
本文介绍了如何完成所有活动,除了第一个活动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我谷歌,但我就算运行此code以下它没有完成的其他活动。

  ButtonClick.setOnClickListener(新OnClickListener(){
        @覆盖
        公共无效的onClick(视图查看){
            。LoginManager.getInstance()CTRL = FALSE;
            。UserManager.getInstance()loginControl();
            。OrderManager.getInstance()orderCtrl = FALSE;
            意向意图=新的意图(OrderComplete.this,
                    MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
            startActivity(意向);
            完();
        }
    });
}
 

解决方案

根据我们的意见讨论

您考虑code是很好!

Q1。为什么它没有完成所有的活动?

答。我觉得所有活动完成 除了活动谁拥有主题或AysncTask 在后台运行或还没说完呢!

Q2。我怎么能完成他们?

答。确保你的线程就成全了!或你可以尝试超时等


其他

 传递字符串与你的意图
 

该附加code

  intent.putExtra(finishingallact,是);
 

在第一个活动(是不是要完蛋)

由制作尝试 的剩余活动对象来完成他们!

所以试code

 如果(getIntent()。getStringExtra(finishingallact)!= NULL)
{
 如果(getIntent()。getStringExtra(finishingallact)。与toLowerCase()。等于(是))
  {
    yourRemainingAct ACT1 =新yourRemainingAct();
    act1.finish();
    //尝试相同的所有剩余活动
  }
}
 

I google it but even if i run this code below it didnt finish the other activities.

ButtonClick.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            LoginManager.getInstance().ctrl = false;
            UserManager.getInstance().loginControl();
            OrderManager.getInstance().orderCtrl = false;
            Intent intent = new Intent(OrderComplete.this,
                    MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
            startActivity(intent);
            finish();
        }
    });
}

解决方案

As per Our Discussion in Comments

Your Given Code is Fine !

Q1. Why its Not Finishing All the Activities ?

Ans. I think All Activities Are Finished Except Activities who have Thread or AysncTask running in Background or not Finished yet!

Q2. How Can i Finish Them ?

Ans. Make Sure your Thread Should be Finished ! or You can Try Timeout etc !


Additional

Pass String with Your Intent 

for this Add Code

intent.putExtra("finishingallact", "yes");

Inside First Activity (Which is not to be Finished)

Try by Making Object of Remaining Activities to Finish Them !

So Try code :

if(getIntent().getStringExtra("finishingallact")!=null)
{
 if(getIntent().getStringExtra("finishingallact").toLowerCase().equals("yes"))
  {
    yourRemainingAct act1=new yourRemainingAct();
    act1.finish();
    // Try Same For ALl Remaining Activities 
  }
}

这篇关于如何完成所有活动,除了第一个活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆