Android/기타
[Android] 다른 앱의 activity(액티비티)에서 결과 받아오기
AntDeveloper
2022. 5. 9. 14:37
반응형
다른 앱의 액티비티에서 결과를 받아오려면 다음의 과정이 필요하다.
A(호출하는 앱), B(호출되는 앱)이라고 하고 설명을 쓰려고 한다.
1. B에서는 일단 호출될 액티비티를 생성하는데 옵션을 다음과 같이 지정한다.
<activity
android:name="B 액티비티 클래스"
android:exported="true" />
2. A에서는 ActivityResultLauncher를 생성합니다. (onCreate에서)
resultLauncher =
registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) {
if (it.resultCode != Activity.RESULT_OK) {
// 실패 시 처리 로직
return@registerForActivityResult
}
// 성공 시 처리 로직
}
3. A에서 호출하면 끝(주의 : ComponentName의 두 번째 파라미터는 무조건 패키지를 포함해야합니다. 예시 - com.test.testapp.ui.login.LoginActivity)
val intent = Intent()
// 필요하면 여기서 action, data 등을 추가해도 됩니다.
intent.component = ComponentName(
"B의 패키지명",
"해당 B의 클래스명(패키지 포함)"
)
resultLauncher.launch(intent)
반응형