728x90
반응형
질문 : Android에서 startActivityForResult를 관리하는 방법
startActivityForResult
의해 기본 활동에서 두 번째 활동을 호출합니다. 두 번째 활동에는이 활동을 완료하는 몇 가지 메서드가 있지만 (결과가 없을 수도 있음) 그중 하나만 결과를 반환합니다.
예를 들어, 주요 활동에서 두 번째 활동을 호출합니다. 이 활동에서는 카메라가있는 등 핸드셋의 일부 기능을 확인합니다. 없는 경우이 활동을 종료하겠습니다. MediaRecorder
또는 MediaPlayer
준비하는 동안 문제가 발생하면이 활동을 종료하겠습니다.
장치에 카메라가 있고 녹화가 완료되면 비디오 녹화 후 사용자가 완료 버튼을 클릭하면 결과 (녹화 된 비디오의 주소)를 기본 활동으로 다시 보냅니다.
주요 활동의 결과를 어떻게 확인합니까?
반응형
답변
당신의에서 FirstActivity
통화 SecondActivity
사용 startActivityForResult()
메소드를.
예를 들면 :
int LAUNCH_SECOND_ACTIVITY = 1
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, LAUNCH_SECOND_ACTIVITY);
SecondActivity
FirstActivity
로 되돌리려는 데이터를 설정합니다. 돌아가고 싶지 않다면 아무것도 설정하지 마십시오.
예 : SecondActivity
데이터를 다시 보내려는 경우 :
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
데이터를 반환하지 않으려면 :
Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();
이제 FirstActivity
onActivityResult()
메서드에 대해 다음 코드를 작성합니다.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == LAUNCH_SECOND_ACTIVITY) {
if(resultCode == Activity.RESULT_OK){
String result=data.getStringExtra("result");
}
if (resultCode == Activity.RESULT_CANCELED) {
// Write your code if there's no result
}
}
} //onActivityResult
Kotlin에서 훨씬 더 나은 방식으로 두 활동간에 데이터 전달을 구현하려면 '활동간에 데이터를 전달하는 더 나은 방법 '을 참조하세요.
출처 : https://stackoverflow.com/questions/10407159/how-to-manage-startactivityforresult-on-android
728x90
반응형
'프로그래밍 언어 > Android' 카테고리의 다른 글
Android 장치에서 apk 파일을 얻는 방법 (0) | 2021.06.11 |
---|---|
Android에서 배경을 20 % 투명하게 만드는 방법 (0) | 2021.06.09 |
Android 레이아웃 파일에서 "tools : context" (0) | 2021.06.05 |
Android drawable 디렉터리에 하위 디렉터리를 포함 될 수 있을까? (0) | 2021.06.04 |
Android에서 Python을 실행하는 방법 (0) | 2021.06.02 |