متوقف شدن سرویس در اندروید 8 وبالا تر از8
سلام دوستان من داخل اپ از یه ایکن شناور Floating widget استفاده کردم اما تو اندروید 8 و بالا تر از 8 موقع خاموش کردن صفحه گوشی سرویس متوقف میشه .
شما راهی یا کدی دارید که از متوقف شدنش جلو گیری کنه؟ ممنون میشم کمک کنید اپ تموم شده و فقط همین یه مشکلش باقی مونده و نمیتونم منتشرش کنم.
دوستان من یه روش خوددرآوردی رو امتحان کردم که تا حالا جواب داده و سرویس متوقف نشده ولی فکر نکنم این کار زیادی امن باشه و شاید بازم امکان متوقف شدنش باشه . من کد ها رو میزارم و از شما میخوام اگه راه حلشو پیدا کردید اینجا بزاریدش
موقع استارت کردن سرویس:
SharedPreferences.Editor prefrences=G.preference.edit();
prefrences.putBoolean("IsActiveFloating",true);
prefrences.commit();
prefrences.apply();
isActive=true;
startAnimatioActive();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(new Intent(Main22Activity.this, FloatingView.class));
startService(new Intent(Main22Activity.this, FloatingView.class));
}else{
startService(new Intent(Main22Activity.this, FloatingView.class));
}
موقع متوقف کردن سرویس:
prefrences.putBoolean("IsActiveFloating",false);
prefrences.commit();
prefrences.apply();
stopService(new Intent(Main22Activity.this, FloatingView.class));
و کد onDestroy داخل سرویس :
if (!G.preference.getBoolean("IsActiveFloating",false)) {
super.onDestroy();
if (view != null) windowManager.removeView(view);
}
در واقع قضیه از این قرار که وقتی سرویس میخواد متوقف بشه وظعیت پریفرنسس چک میکنه اگه ما اونو روی false قرار داده باشیم دیگه متد سوپرش اجرا نمیشه اما اگه قرار باشه که با دستور ما متوقف بشه متد سوپرش اجرا میشه.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .