Programming/Android
[Android] 갑자기 startActivityForResult 가 돌아오지 않는다?
Aosta
2022. 12. 2. 12:21
평소처럼 2010년에 탄생하신 어르신 앱을 유지보수 하고 있다가 문제가 하나 발생했습니다.
메인 화면에서 startActivityForResult 로 검색 창으로 넘어가서 setResult 로 데이터를 받아와 상세뷰로 넘어가야 하는데, 아무 문제 없던 기능이 갑자기 작동을 안하는 겁니다.
문제 발생
문제는 startActivityForResult 파라미터 중 하나인 requestCode 였습니다.
나는 분명 Fragment 에서 requestCode 를 1로 줬는데 돌아오는 값은 제각각 (25341, 65692 ... ) 이었습니다.
public void startActivityForResult (Intent intent, int requestCode)
원인 및 해결
int REQUEST_CODE = 1;
// startActivityForResult(intent, REQUEST_CODE);
getActivity().startActivityForResult(intent, REQUEST_CODE);
Fragment 에서 startActivityForResult 할 때는 꼭 getActivity() 를 붙여줘야 합니다.
Deprecated 된지 오래 된 기능이긴 하지만 아마도 이번에 31 대응을 하면서 발생한 오류로 보입니다.