Before 2022/Android

startActivityForResult - 호출한 Activity에서 결과 값 받기

Eljoe 2019. 7. 11. 10:45

데이터를 전달하고자 하는(호출된) 액티비티

Intent intent = new Intent(전달하는 액티비티, 전달 받는 액티비티);
intent.putExtra("data", data);
// 호출했던(전달 받는) 액티비티에 전달할(돌려줄) 데이터를 지정한다.
setResult(RESULT_OK, mainIntent);
finish();

 

데이터를 전달받는(호출하는) 액티비티

// 액티비티를 호출한다. 
 startActivityForResult(new Intent(전달받는 액티비티, 전달하는 액티비티), REQ_CODE);
 
 @Override
 protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   // startActivityForResult에 지정된 Integer 인수를 통해 여러 액티비티에서 온 요청을 각각 처리할 수 있다.
   if (requestCode == REQ_CODE && resultCode == RESULT_OK) {
   	String data = data.getStringExtra("data");
   	Log.e("onActivityResult", data);
   }
 }