m_jafari_1370
پنج شنبه 28 خرداد 1394, 09:43 صبح
سلام دوستان
من کد پرداخت درون برنامه ای رو گذاشتم رو 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 ???
ممنون از همه
من کد پرداخت درون برنامه ای رو گذاشتم رو 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 ???
ممنون از همه