finishActivity(int requestCode) 当咱们在activity中调用finishActivity(int requestCode) 后 并非关闭当前的activity而是关闭 你用startActivityForResult(intent,code);启动那个activity。注意requestCode必须填写和code一致ide
public class MainActivity extends AppCompatActivity { private final int code=12; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent=new Intent(this,Main2Activity.class); startActivityForResult(intent,code); EventBus.getDefault().register(this); } @Subscribe(threadMode = ThreadMode.MAIN) public void newOrder(TestEvent event){ finishActivity(code); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.e("TAG","onActivityResult"); } @Override protected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); } public class Main2Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); } public void test(View view){ TestEvent event=new TestEvent(); EventBus.getDefault().post(event); } }