반응형
startActivityForResult()를 통해 액티비티를 생성하면 액티비티가 종료될 때 지정한 requestCode와 함께 onActivityResult() 메소드가 호출됩니다. 이때 종료한 액티비티를 호출한 액티비티로 결과를 반환하기 위해서 setResult()를 호출하여 resultCode와 result Intent를 지정할 수 있습니다.
다음은 예제입니다.
액티비티 생성
ResultActivity.class
int TEST_TYPE= 2;
Intent intent = new Intent(getApplicationContext(), RequestActivity.class);
startActivityForResult(intent,TEST_TYPE);
결과전달
RequestActivity.class
Intent intent = new Intent();
intent.putExtra("test", "수신성공");
setResult(Activity.RESULT_OK, intent);
finish();
결과수신
ResultActivity.class
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(resultCode != RESULT_OK)
{
return;
}
switch(requestCode)
{
case TEST_RESULT:
{
//수신성공 출력
String result = data.data.getStringExtra("test");
System.out.println(result);
}
}
}
출처
https://developer.android.com/training/basics/intents/result?hl=ko#java
반응형
댓글