سلام دوستان
من کد پرداخت درون برنامه ای رو گذاشتم رو ACTION_UP یک تصویرم، وقتی میخواد عکس رو بکشه اینور یا اونور
به این صورت:
Boolean userData = settings.getBoolean("paid", false);
if(!userData){
if (mHelper != null) {
mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener, "payload-string");
}
}
این کد برای بار اولی که میاد ACTION_UP بشه فورس میده، ولی برای بار دوم یا سوم مشکلی نداره!!!
حالا کلک رشتی سرش زدم و گذاشتمش توی try/catch یعنی گفتم:
Boolean userData = settings.getBoolean("paid", false);
if(!userData){
if (mHelper != null) {
try {
mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener, "payload-string");
}
catch(IllegalStateException ex){
Toast.makeText(this, "Please retry in a few seconds.", Toast.LENGTH_SHORT).show();
}
}
}
برای بار اول میره توی catch و پیام میده، برای دفعات بعد مشکلی نیست و پرداخت میاد...
ضمنا ارروری هم که به ازای فورس شدن میده اینه:
java.lang.IllegalStateException: Can't start async operation (launchPurchaseFlow) because another async operation(launchPurchaseFlow) is in progress.
کسی میتونه راهنمایی کنه منو که چرا بار اول کدام میره توی catch ???
ممنون از همه