PDA

View Full Version : پیغام force close بلافاصله بعد از خروج از برنامه و یا در حین اجرای برنامه زمانی که گوشی زنگ میخورد



ftcris
یک شنبه 17 آبان 1394, 11:50 صبح
سلام دوستان گرامی:
من یک پروژه تاکسیمتر دارم که مدام باید برای هر مسافری که سوار تاکسی میشه نرخ و کرایه بندازه. در این پروؤه از دو تا سرویس هم استفاده کردم که در متد oncreate کلاس MainActivity استارت می شن. ی مشکل بزرگی این برنامه من داره که بعضی مواقع بعد از ده دقیقه یک ربع که برنامه در حال اجراست پیام فورس کلوز میده و برنامه بسته میشه. همچنین وقتی دکمه back زده میشه باز هم پیغام فورس کلوز میده( یه بار پیغام میده وقتی تایید رو میزنم بسته میشه پس از چند ثانیه دوباره فورس کلوز میده!) و یا وقتی تماسی وارد میشه باز هم همین اتفاق میفته.
نمیدونم در کجا و برای چی این خطا رخ میده فقط این رو میدونم که خطا از این نوع هست :java.lang.ExceptionInInitializerError
لطفا دوستان کمک کنید. واقعا دلیل خطا رو نمیدونم و باید رفعش کنم.:متفکر::اشتباه:

ali_khodayar
یک شنبه 17 آبان 1394, 12:40 عصر
اینطور کسی نمیتونه کمک دقیقی کنه .
شما باید متن LogCat رو بزارید.

ftcris
دوشنبه 18 آبان 1394, 08:32 صبح
اینطور کسی نمیتونه کمک دقیقی کنه .
شما باید متن LogCat رو بزارید.

این LogCat برای زمانیه که از برنامه خارج میشیم( با استفاده از دکمه Back )
http://s1.upload7.ir/uploads/nK5OSTDxqqcdozO3YYWPjSr3b9Q4ktBy5wcNgGbx
و این هم Logcat برای زمانیکه در حین اجرای برنامه تماسی از بیرون وارد می شود:
http://s1.upload7.ir/uploads/KuTmWNQyN9mYdtC2FGRqzQrkQrkTpxrZSccEPS5t
و یک مورد دیگه اینه که من میخام بعد از به فرض دریافت تماس و پاسخ دادن و قطع مکالمه بلافاصله به نرم افزار تاکسیمترم برگرده. ( مثل Clash of Clans!) اما برنامه کلا بسته میشه و از دوباره باید اون رو launch کرد.

و باز هم یک موردی که در برنامم وجود داره و اینکه ذکر کنم این قضیه رو شاید بتونه به راه حل فورس کلوز ها نزدیکتر کنه ما رو : ببینید وقتی که من از برنامه خارج میشم دو بار پیغام فورس کلوز پشت سر هم میاد که logcat مربوز به اون رو گذاشتم. فرض کنید یک ساعت بعد برنامه تلگرام رو باز میکنم در اینجا هم با وجود اینکه برنامه تاکسیمترم رو قبلا بسته بودم باز هم ی پیغام فورس کلوز مربوط به تاکسیمتر روی صفحه میاد. لطفا راهنمایی کنید و اگر قطعه کد خاصی در متدهای خاصی مثل onPause و onResume یا در دکمه back یا مانیفست یا onCreate گذاشته بشه راهنمایی کنید. منتظر کمک های دوستان هستم

pbm_soy
دوشنبه 18 آبان 1394, 23:14 عصر
شما onpuase , onresume را چطوری مدیریت کردید چیزی نوشتید؟
مشخص کردید این خطاهایی که میگید از کدوم خطهای برنامه شماست؟

majid_7
سه شنبه 19 آبان 1394, 07:55 صبح
این LogCat برای زمانیه که از برنامه خارج میشیم( با استفاده از دکمه Back )
http://s1.upload7.ir/uploads/nK5OSTDxqqcdozO3YYWPjSr3b9Q4ktBy5wcNgGbx
و این هم Logcat برای زمانیکه در حین اجرای برنامه تماسی از بیرون وارد می شود:
http://s1.upload7.ir/uploads/KuTmWNQyN9mYdtC2FGRqzQrkQrkTpxrZSccEPS5t
و یک مورد دیگه اینه که من میخام بعد از به فرض دریافت تماس و پاسخ دادن و قطع مکالمه بلافاصله به نرم افزار تاکسیمترم برگرده. ( مثل Clash of Clans!) اما برنامه کلا بسته میشه و از دوباره باید اون رو launch کرد.

و باز هم یک موردی که در برنامم وجود داره و اینکه ذکر کنم این قضیه رو شاید بتونه به راه حل فورس کلوز ها نزدیکتر کنه ما رو : ببینید وقتی که من از برنامه خارج میشم دو بار پیغام فورس کلوز پشت سر هم میاد که logcat مربوز به اون رو گذاشتم. فرض کنید یک ساعت بعد برنامه تلگرام رو باز میکنم در اینجا هم با وجود اینکه برنامه تاکسیمترم رو قبلا بسته بودم باز هم ی پیغام فورس کلوز مربوط به تاکسیمتر روی صفحه میاد. لطفا راهنمایی کنید و اگر قطعه کد خاصی در متدهای خاصی مثل onPause و onResume یا در دکمه back یا مانیفست یا onCreate گذاشته بشه راهنمایی کنید. منتظر کمک های دوستان هستم

یه مقدار اولیه ی متغیر از نوع Number دارید که بجای اینکه از 0 استفاده کنید از null استفاده کردید(تصویر اول)...
برای مشکل دوم تون هم از همین روش دوستمون استفاده کنید onPause و مدیریت savedInstanceState توش ... و onResume و ...
فک کنم یه جای کار باید از activityResult استفاده کنید... توضیح کامل بذارید از مشکل تون دوست عزیز