안드로이드에서 PaymentWidget을 생성했을 때 IllegalStateException
안녕하세요. React-Native Expo 환경에서 Android 결제 SDK를 연동하고 있는데, PaymentWidget을 생성하는 시점에 아래와 같은 오류가 발생하면서 진행이 되고 있지 않은 상황입니다.
java.lang.IllegalStateException: LifecycleOwner com.fastinate.MainActivity@469b48c is attempting to register while current state is RESUMED. LifecycleOwners must call register before they are STARTED
관련해서 디스코드 Repo도 찾아봤는데 STARTED 상태에서 PaymentWidget을 사용하려고 했을 때 오류가 발생한 경우는 있었지만 제 경우는 없는 것 같아서 도움을 받을 수 있을까 하여 메시지를 드립니다.11 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
아, Android 개발 언어는 Kotlin을 사용하고 있습니다.
이 내용 한번 보시겠어요?
https://stackoverflow.com/questions/64476827/how-to-resolve-the-error-lifecycleowners-must-call-register-before-they-are-sta
Stack Overflow
How to resolve the error "LifecycleOwners must call register before...
I am using registerForActivityResult for google sign in implementation in my development. Everything was working fine until I upgraded my fragment dependency to 1.3.0-beta01. The application current
activity 가 onCreate 에서 호출 되어야 한다는 내용인데, 이것과 관련있는지 확인 부탁 드려요
네, 관련해서 저도 이 SO 게시글을 접했었는데 지금 제가 작성한 코드에서는
registerForActivityResult
함수를 호출하는 부분이 없고 com.tosspayments.paymentsdk.view.PaymentMethod
를 곧바로 부르고 있어서요..
음.. PaymentMethod 내부의 어디에서 오류가 발생하는지까지 로그를 찍어보며 좀 찾아봐야 하는 상황일까요? 지금 stacktrace가 도움이 안되는 상황이라, 일단 계속 저 오류가 어디에서 발생하는지 근원을 좀 찾아보고 있는 중이긴 합니다.음.. 전달주신 내용을 보면 이건 위젯쪽 문제가 아니라서, 저희가 봐드릴 수 있는 부분이 제한적으로 보여지기는 하네요
스택트레이스를 뽑아봤는데
com.tosspayments.paymentssdk.PaymentWidget.<init>
내부에서 registerForActivityEvent
를 호출하는데
혹시 PaymentWidget 을 호출할 때 뭔가 전제조건 같은 것이 있을까요..?우선 연동 시작 부분부터 정리 해볼게요
현재 위젯 연동은, docs.tosspayments.com 에 설명된 script 로, 웹뷰 띄워서 그 위에 렌더하는 방식으로 연동하고 있으신가요?
아니오, 안드로이드 SDK를 사용해서 native 연동하는 방식으로 진행하고 있습니다.
음..
일단 저희 git repo 받으신 후, example app은 실행해보셨을까요?
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.