googletez / inapp-payment-samples

26 stars 20 forks source link

app crash on successful payment and give result 0 in response #4

Open eranilsharma opened 5 years ago

eranilsharma commented 5 years ago

2019-02-15 12:54:56.640 22199-22199/com.xxx.xxx E/AndroidRuntime: FATAL EXCEPTION: main Process: com.xxx.xxx, PID: 22199 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=123, result=0, data=null} to activity {com.xxx.xxx/com.xxx.xxx.ui.payment.PlanReviewActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getStringExtra(java.lang.String)' on a null object reference at android.app.ActivityThread.deliverResults(ActivityThread.java:4605) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4649) at android.app.ActivityThread.-wrap19(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1827) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:197) at android.app.ActivityThread.main(ActivityThread.java:7022) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:515) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:837) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getStringExtra(java.lang.String)' on a null object reference at com.xxx.xxx.ui.payment.PlanReviewActivity.onActivityResult(PlanReviewActivity.java:248) at android.app.Activity.dispatchActivityResult(Activity.java:7575) at android.app.ActivityThread.deliverResults(ActivityThread.java:4601) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4649)  at android.app.ActivityThread.-wrap19(Unknown Source:0)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1827)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loop(Looper.java:197)  at android.app.ActivityThread.main(ActivityThread.java:7022)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:515)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:837) 

Sai-Sudhakar commented 4 years ago

Uninstall Gpay and install again. Try debug with another device if the issue still persists.

hkvongit commented 1 year ago

To avoid the app crash - instead of activity.startActivityForResult(intent, GOOGLE_PAY_REQUEST_CODE); do

activity.startActivity(intent);

I tried this and getting the payment done without any app crash but of course if you have a process like writing or giving toast after the success or payment, it wont be possible as the runtime will not listen for the Activity Result as we replaced it with just startActivity in place of startActivityForResult