پارسکدرز اولین بازار کار آنلاین ایران آخرین ارسال های انجمن

جلوگیری از متوقف شدن سرویس برنامه اندروید (جاوا)

شاید این موضوع که چطور نذاریم سرویس تو اندروید بسته شه برای بعضی ها موضوع عجیبی باشه چون بنظر میاد سرویس خودش برای اینه که کارمون مثل کار معمولی بسته نشه!
اما واقعا اینطور نیست و سرویس هم بسته به کد ما ممکنه تو بعضی گوشی ها یا حتی همه گوشی ها!! بسته شه.
اما موضوع اینه که گاهی وقتها کد سرویستون مشکلی نداره اما توی بعضی از موبایلها سخت گیری هایی وجود داره که سرویس برناممونو به طرز بیرحمانه ای میبنده 🙁
طبق تجربه ای که توی این موضوع داشتم به قطعه کدی رسیدم که با نمایش یه نوتیفیکیشن سرویسمون رو خیلی خوب(!) در حال اجرا نگه میداره حتی زمانی که گوشیم بدون این حالت اونو میبست با استفاده از این حالت بسته نشده و احتمالا توی اکثر یا همۀ گوشی ها کار کنه.

بریم سراغ کد!
(این کد توی متد onStartCommand سرویس منه)

چند نکته درمورد این تکه کد:
توی خط اول settings اسم شیرد پریفرنس من هست که از اون چک میکنم کاربر دوست داشته این حالت فعال شه یا نه،چون تو بعضی گوشی ها نیاز نیست باشه و سرویس همینجوری باز میمونه و وجود یک نوتیفیکیشن دائمی ممکنه اعصاب کاربرو خراب کنه! D-:
مقصد کلیک این نوتیفیکیشنمو یک اکتیویتی گذاشتم که کلاسش همون DisableStableMode هست
در آخر هم با startForeground کارمونو عملی میکنیم
یادتون باشه کامنتهای کدم ممکنه نقصهایی توی نوشتار یا درست بودن داشته باشن!

موفق باشید 😉

مدیر

سلام ابوالفضل هستم برنامه نویس نه چندان حرفه ای اندروید با کمی مهارت در طراحی وب و گرافیک1 نظراتتون رو درمورد سایت میتونید از طریق قسمت تماس با ما با بهم بگید. به امید پیشرفت بیشتر :)

شاید این مطالب را هم دوست داشته باشید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *