Android中同时关闭多个Activity
因为Android中特殊返回实体键的存在,我们进入下个Activity之后,因为某种原因返回,所以在此时在进入下个Activity时不能关闭当前的Activity.但是当我们登陆成功进入主界面之后我们又需要关闭某些Activity,所以就有了下文:
目前找到有两种方法
方法一:
通过广播来关闭,一些指定的Activity
setp1:在每个Activity中注册BroadcastReceiver
CloseActivityReceiver closeReceiver = new CloseActivityReceiver();
IntentFilter intentFilter = new IntentFilter("con.lcry.close.activity");
registerReceiver(closeReceiver, intentFilter);
setp2:在当前的Activity中实现内部类,关闭Activity
/**
* 实现Activity的广播接收
* @author LCry
*/
public class CloseActivityReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent){
xxxActivity.this.finish();
}
}
setp3:在需要关闭Activity时发出广播,告诉对方,我要把你结束
Intent intent = new Intent();
intent.setAction("con.lcry.close.activity");
sendBroadcast(intent);
方法二:
当进入下个Activity时把当前的Activity置顶,然后在关闭。
代码:
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
“`