رفتن به مطلب
  • 0

فعال نگه داشتن سرويس عليرغم بستن برنامه توسط يوزر


arman888

سوال

با سلام خدمت دوستان عزيز

در بيسيك4اندرويد برنامه اي نوشته ام كه از دو قسمت سرويس (جهت دريافت و خواندن sms) و يك بخش اكتيويتي براي نمايش يكسري اطلاعات در صورت نياز

به اين صورت كه به محض دريافت SMS از سوي بانك سرويس فعال ميشه تراكنش و تحليل كرده و تو ديتا بيس ذخيره ميكنه

موقعي كه يوزر بخواد كزارش اي از ديتابيس دريافت كنه برنامه رو اجرا ميكنه و با اتصال به ديتابيس اطلاعات مد نظرش نمايش داده ميشه

 

وقتي سرويس رو بدون اكتيويتي اجرا ميكنم كاملا درسته و عمل ميكنه ( در كد activity created در Main Activity دستور Activiry.Finish و ExitApplication رو وارد كردم به اين ترتيب هميشه سرويس بدون اككتيويتي فعال در بك گراند درحال اجرا مي باشد)

اما مشكل وقتي يش مياد كه سرويس كنار Main process باشه. يني وقتي يوزر برنامه رو باز كرد از ديتابيس اطلاعات و نمايش داد÷ موقعي كه برنامه رو Kill ميكنه، پروسس برنامعه هم Kill ميشه و سرويس هم از كار ميفته

 

مشكل اينه كه سرويس و اكتيويتي هر دو روي Main Process هستند و با بستن برنامه هردو غيرعال ميشه

 

1) چيكار بايد كرد كه وقتي كاربر برنامه رو بست بازهم سرويس در حال اجرا باز بمونه

2) كاربرد OnserviceRemoved در سرويس Starter  براي چيست؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام وقت بخیر

اگر درست متوجه منظورتون شده باشم شما پایداری سرویس می خواین ؟

این هیچ راهی نداره جز این که به برنامه دسترسی کار کرد در پس زمینه بدهید که این کار تو هواوی حتمی یعنی اگر انجام ندید سرویس بلافاصله بعد از بسته شدن برنامه غیر فعال میشه

برای گوشی ها مثل سامسونگ به این سورس زیر نگاه کنید که اقا مجید گذاشتن :

 

 

 ولی برای گوشی های هواوی مخصوصا سری هانر دسترسی بالا جواب نمیده و باید به صورت دستی از کاربر بخواهید که دسترسی رو به برنامه بده با استفاده از کتابخونه زیر که می تونید شرط بزارید که اول چک کنه که گوشی هواوی و بعد اجرا کنه :

 

 

و البته این خط کد  هم به اول سرویس اضافه کنید

	#StartCommandReturnValue: android.app.Service.START_STICKY

موفق باشی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...