razorpay / razorpay-android-sample-app

Sample app demonstrating integration of Razorpay checkout
MIT License
88 stars 90 forks source link

Activity com.razorpay.CheckoutActivity has leaked IntentReceiver com.razorpay.AutoReadOtpHelper@5f69be3 that was originally registered here. Are you missing a call to unregisterReceiver()? #374

Closed akashk25121 closed 5 months ago

akashk25121 commented 5 months ago

Description

The latest Razorpay Android SDK crashing

Razorpay SDK Version :

implementation 'com.razorpay:checkout:1.6.23'

Android OS Version :

Android 14

What happened:

Activity com.razorpay.CheckoutActivity has leaked IntentReceiver com.razorpay.AutoReadOtpHelper@5f69be3 that was originally registered here. Are you missing a call to unregisterReceiver()? android.app.IntentReceiverLeaked: Activity com.razorpay.CheckoutActivity has leaked IntentReceiver com.razorpay.AutoReadOtpHelper@5f69be3 that was originally registered here. Are you missing a call to unregisterReceiver()? at android.app.LoadedApk$ReceiverDispatcher.(LoadedApk.java:1945) at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:1655) at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1901) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1853) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1841) at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:772) at com.razorpay.CheckoutPresenterImpl.startSmsRetrieverForSavedCardsOTP(CheckoutPresenterImpl.java:915) at com.razorpay.CheckoutPresenterImpl.onLoad(CheckoutPresenterImpl.java:906) at com.razorpay.J$0.secure(CheckoutBridge.java:27) at com.razorpay.CheckoutPresenterImpl.executeWebViewCallback(CheckoutPresenterImpl.java:1359) at com.razorpay.CheckoutPresenterImpl.access$700(CheckoutPresenterImpl.java:59) at com.razorpay.k__c$.run(CheckoutPresenterImpl.java:1344) at android.os.Handler.handleCallback(Handler.java:958) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:230) at android.os.Looper.loop(Looper.java:319) at android.app.ActivityThread.main(ActivityThread.java:8893) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

Steps To Reproduce

  1. Trigger razor pay SDK for payment you will be on enter phone number screen
  2. Click back button check that crash happen

Suggested solution:

Seems you are trying to auto read OTP. For that you have registered receiver, which is not destroyed once your checkout activity is getting destroyed.

vivekshindhe commented 5 months ago

@akashk25121 This issue has been fixed in the later versions. Please switch to 1.6.38 of the SDK version. Closing this ticket. If after switching the version the error persists please feel free to reopen the ticket.