PDA

View Full Version : راه اندازی سرویس بدون توقف در اندروید



ic_teta
یک شنبه 24 آذر 1398, 20:23 عصر
به نام خدا
با سلام
من برنامه ای دارم که لازمه که سرویسش همواره در حال اجرا باشه و هرگز متوقف نشه
حتی اگر برنامه Kill بشه سرویس در حال اجرا باقی بمونه. به عبارتی فقط در صورتی متوقف بشه که کاربر در قسمت settings>>apps، یک از دکمه های Force stop یا uninstall رو بزنه.
متاسفانه نتونستم چیزی پیدا کنم که کامل خواستم رو پوشش بده. مثلا فرض کنید برنامه داره به صورت مستمر داده از یک سرور می خونه پردازش می کنه و بمحض اینکه سرور داده‌ی غیرنرمالی ارسال کرد برنامه به کاربر اطلاع بده (با Notification یا روش های دیگه).

ممنون میشم راهنماییم کنید.

hamid_hr
دوشنبه 25 آذر 1398, 11:51 صبح
شما باید از سرویس ها استفاده کنید.
یک سرویس ایجاد و اجرا میکنید
https://www.vogella.com/tutorials/AndroidServices/article.html
http://www.tahlildadeh.com/ArticleDetails/%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-Android-Services

ic_teta
سه شنبه 26 آذر 1398, 18:08 عصر
شما باید از سرویس ها استفاده کنید.
یک سرویس ایجاد و اجرا میکنید
https://www.vogella.com/tutorials/AndroidServices/article.html
http://www.tahlildadeh.com/ArticleDetails/%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-Android-Services


از سرویس ها استفاده کردم ولی متاسفانه با بستن برنامه سرویس هم قطع میشه!!!

mehdi.safavie
سه شنبه 22 بهمن 1398, 09:12 صبح
درود;

لطفا در مورد Background Services و Alarm Manager ها مطالعه بفرمایید.
در ضمن: شما به عنوان یک Developer برای سیستم عامل اندروید ، به هیچ وجه نمیتونین سرویسی بسازین که هیچ وقت بسته نشه. سطح دسترسی و امنیت و اولویتی که سیستم عامل برای شما در نظر گرفته پایین تر از اینه که انتظار شما رو برآورده کنه.
شما تنها میتونین با Alarm Manager طی یک زمان مشخصی که خودتون بهش میدید ، چک کنید که اگر سرویس شما بسته بود ، اون رو براتون باز کنه. حالا میخواین هر یک ساعت این رو چک کنه یا هر 10 دقیقه.
بنا براین مراحل کار شما اینه:
ابتدا در مورد BackgroundService ها مطالعه بفرمایید و یک سرویس برای کار مورد نظرتون به وجود بیارید.
در مرحله بعد با استفاده از AlarmManager سرویس خودتون رو Run کنید و براش Reapet بزارین.