关闭其他活动的活动?

有谁知道如何关闭其他活动的活动? 例如:我有3个活动(活动A,B和C),从活动C,我可以关闭活动A ..我的活动结构是活动A – >活动B – >活动C如何关闭活动A从活动C?

我试过这段代码:

@Override super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent goToLockScreen= new Intent(this,LockScreenForm.class); startActivity(goToLockScreen); finish(); 

但该代码只是从活动B关闭活动A,并且不能直接从活动C关闭活动A.

有没有人知道从其他活动直接关闭活动? 谢谢..

 First Go to parent activity by starting it @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); switch(Code){ case A: go to that activity and finsih() this again come back to parent activity case B: go to that activity and finsih() this again come back to parent activity /////and son on } 

试试它对我来说很完美

  `public class aActivity extends Activity { public static Activity handleToClose; @Override public void onCreate(Bundle savedInstanceState) { . . . handleToClose = this; } public void onClick(View v) { Intent i = new Intent(this, act2.class); startActivity(i); } }` 

现在你必须从Activity-B完成Activity-A

活动B或第二活动

  `public class act2 extends Activity { public void onCreate(Bundle savedInstanceState) { // your code here } public void onClick(View v) { aActivity.handleToClose.finish(); //this will finish aActivity (1st Activity) finish();//to finish current Activity } }` 
 Intent goToLockScreen= new Intent(this,LockScreenForm.class); goToLockScreen.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

这是一种规定的方式,你应该遵循它..如果你想要一些其他的行为,你可以实现它..关于这个主题有很多问题..请参考其他问题…

如何启动B和C forResult并将结果发送回forResult活动让A最终调用finish() ? 喜欢这个:

一个startActivityForResult() – > B startActivityForResult() – > C.
C setResult() – > B onActivityResult(){setResult()} – > C onActivityResult(){finish()}

听起来很复杂,但也许它可以用作解决方法?

尝试这个

如果更新活动正在启动另一个安装活动,那么您可能希望在更新活动中覆盖void onActivityResult(int requestCode,int resultCode,Intent intent),从而提供以下实现。 此外,当更新活动启动安装活动时,它应该使用startActivityForResult(Intent,int) ,而不是startActivity(Intent)

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); finish(); }