آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

خطای NullPointerException در پرداخت درون برنامه ای

مسعود فرمانی  9 سال پیش  9 سال پیش
0 0

سلام

از طریق سرویس گزارش خطا ، چندین مورد(حدود 4 مورد) NullPointerExeption از خط 386 کلاس IabHelper گزارش شده (که مربوط به زمانیه که کاربر میخواد پرداخت انجام بده)

همچنین چندین مورد(بالای 20 مورد برای 20 کاربر جدا) از همین نوع خطا هم از خط 836 کلاس IabHelper گزارش شده (که مربوط به زمانیه که کويیری میزنیم)

دوستان کسی هست که نظری برای حل این خطاها داشته باشه؟

ممنون

(مورد اولی رو البته یجورایی دلیلشو متوجه شدم و هندلش کردم ولی مطمعن نیستم!)

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مسعود فرمانی  9 سال پیش
+1 0

برای حل مورد اولی(خطا در خط 386): تنها چیزی که اینجا میتونه null باشه ، mService هست(mContext نمیتونه null باشه چون این تنها در صورتی null میشه که IabHelper ، dispos شده باشه و اگه اینطور باشه برنامه توی خط checkNotDisposed(خط 371) میاد بیرون از این متد) پس تنها توجیهش میتونه این باشه که در حین اجرای متدِ پرداخت ، ارتباط با سرویس پرداخت از دست رفته و mService برابر null شده(mService در زمان قطع ارتباط برابر null قرار داده میشه (خط 214)).به عنوان راه حل از اونجایی که توی متد launchPurchaseFlow خطای NullPointerException مهار (catch) نشده ، تنها چیزی که به ذهن من میرسه اینه که توی اکتیویتیِ خودم متد launchPurchaseFlow رو توی try_catch بذارم که اگه برنامه وارد بلوک catch شد به جای اینکه کرش کنه مثلا به کاربر پیغام بدم که ارتباط از دست رفته و بعدا دوباره امتحان کنید....

دوستان نظری اگه دارید لطفا بگید چون آمار خطاهای برنامم داره زیاد میشه و عمدتا هم از کلاس IabHelper هستن

ممنون

0 0
دوست عزیز اینجوری نمیشه گفت اون قسمت از کد برنامه که ارور میگیره ازش رو بزارید تا اگر تونستم راهنماییتون بکنم (9 سال پیش)
0 0
از کدهای برنامه من خطا نمیگیره دوست من.همونطور که گفتم از کلاس IabHelper(کلاس کمکی پرداخت درون برنامه ای) خطا میگیره... (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .