بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل با سرویس
با سلام
من در نرم افزارم یک سرویس دارم که با روشن شدن گوشی استارت می خوره، تا اینجاهمه چیز درسته.
مشکل من اینه که وقتی نرم افزار را باز می کنم و وقتی که از نرم افزار خارج می شود(به وسیله دکمه recen application ) دوباره سرویس restart می شود.
ولی اگر با دکمه Back خارج بشوم سرویس restart نمی شود.
آیا تنظیم خاصی باید به سرویس بدهم؟
0
0
کسی راه حلی نداره؟
آیا این از خصوصیات سرویس ها است که با بستن نرم افزار به وسیله task manger یا force close یا کرش کردن ، دوباره restare بشه (11 سال پیش)
+1
0
شما مشخصه android:process=".remote" رو به سرویس تون در منیفست اضافه کنید ببینید درست میشه یا نه تا بعد. (11 سال پیش)
0
0
android:process=".remote" چکار می کنه؟ درست نشد (11 سال پیش)
+1
0
وقتی مشخصه ی android:process رو برای سرویس ست میکنیم سرویس در یک پروسه ی جدا اجرا میشه. شما احتمالا در متد های onstop یا onresume یا onpause (یا متد های مشابه) از اکتیویتی های دیگه داری سرویس رو stop می کنی. (11 سال پیش)
0
0
من دوست ندارم کلا stop بشه.کلا از متد stop استفاده نگردم . (11 سال پیش)
+1
0
وقتی سیستم عامل حافظه رم کم میاره تعدادی از برنامه هایی که در پیش زمینه اجرا هستند و سرویس هایی که در پیش زمینه در حال اجرا هستند رو میبنده. شاید مشکل این باشه. (11 سال پیش)
0
0
من در تمام متد های سرویسonUnBind و onCreate، onStartCommand،onStart، و غیره یک Toast گذاشتم.
وقتی سرویس رو استارت می زنم onCreate وToast ، onStartCommand خود را نشان می دهند. و وقتی هم که نرم افزار را با recen app می بندم با این 2 تا بعد از 5 الی 6 ثانیه نشان داده می شود و سرویس ریستارت می شود.
(11 سال پیش)
0
0
نه مشکل رمی ندارم (11 سال پیش)
+1
0
آهان خوب شما دارید خودتون برنامه رو force stop می کنید وقتی با recent app برنامه رو force stop میکنید دیگه چیزی از برنامه توی رم باقی نمی مونه حتی اگه از اون مشخصه ای که گفتم هم استفاده کنید و سرویس رو در یک پروسه ی جداگانه اجرا کنید باز هم سرویس stop میشه. (11 سال پیش)
0
0
خوب کاربران عادت دارن که recen app خود را تمیز کنند و این کار باعث می شود که سرویس ها هم ریست بشوند؟این طوری که موزیک پلیر هم باید ریستارت بشه
راستی من یه ویجت هم ساختم.باز این مشکل رو دارم یعنی وقتی که کاربر از recen app می بنده دیگه کار نمی کنه
حالا من چکار کنم؟ (11 سال پیش)
+1
0
کاربر وقتی خودش داره آگاهانه موزیک پلیر رو force stop میکنه، خودش خواسته ببنده برنامه رو، میدونه با این کارش مدیا پلیر بسته میشه، خودشم میره دوباره بازش میکنه D: شما اگه توی onStartCommand مقدار START_STICKY رو return کنید سرویس به طور خودکار هنگام destroy شدن یا stop شدن یا همین موردی که خودتون اشاره کردید(force stop کردن توسط کاربر) restart میشه و دوباره اجرا میشه.که احتمالا خودتون این کار رو کردید. (11 سال پیش)
0
0
من الان با موزیک پلیر گوگل یه آهنگ گذاشتم بعد توی مدیریت app هم سرویسش رو نگاه کردم ، وقتی که از recent app بستم باز موزیک داشت می خوند.این نرم افزار چکار کرده پس؟ (11 سال پیش)
+1
0
والا خودم که امتحان می کنم موزیک قطع میشه با task manager بستید اش یا از recent apps پاکش کردین؟ اندرویدتون چنده؟ (11 سال پیش)
0
0
با app recent ورژن 4.2.2 هست.با task manger که ببندی توش حرفی نیست و می دونم که از بیخ ریشه نرم افزار رو خشک می کنه اما این موزیک پلیر ها کاری می کنند که با app recent که می بندی ، سرویس هاشون نه از بین می رن نه ریستارت می شوند . (11 سال پیش)
+1
0
recent apps فقط جایی هست که برنامه های اخیرا اجرا شده درش قرار می گیرن و با پاک کردن نام برنامه از این لیست، برنامه و سرویس هاش stop نمی شن. البته در ورژن های جدید اندروید با پاک کردن برنامه از recent apps برنامه کلا force stop میشه، درست مثل بستن برنامه در task manager می مونه فرقی نمیکنه(از اندروید 4.4 به بالا هم فکر می کنم این طوره). (11 سال پیش)
0
0
خوب من با همین ورزن نرم افزار گوگل موزیک رو انجام دادم ولی نرم افزار داشت موزیکخودش رو اجرا می کرد (11 سال پیش)
0
0
کسی بلد نیست که موزیک پلیر ها چطور سرویس هاشون رو ریستارت نمی کنن؟
(11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
hamidd
11 سال پیش
+1
0
شما مشخصه
android:process=".remote"
رو به سرویس تون در منیفست اضافه کنید ببینید درست میشه یا نه تا بعد.
به جای remote می تونید یک چیز دیگه بنویسید
پاسخ به سوال
وحید
11 سال پیش
0
0
دوستان من هم همین مشکل رو دارم.
تو سرویسم یک تایمر دارم که وقتی سرویس فعال می شه شروع به شمردن می کنه.
حالا وقتی دکمه home رو نگه می دارم و برنامه رو ازون قسمت خارج می کنم سرویس چند ثانیه مکث می کنه و دوباره شروع می کنه از اول شمردن. چه کنم؟
من ازین روش استفاده کردم و درست شد. حالا نمی دونم کارم درست بوده یا نه، اگر راه اصولی داره لطفا بگید : در خروجی آخر به جای START_STICKY یا START_FLAG_REDELIVERY از START_CONTINUATION_MASK استفاده کردم و بعد از خروج از برنامه حتی از قسمتی که با نگه داشتن دکمه home میاد، باز هم برنامه متوقف نشد و ادامه تایمر بدون ریست شدن ادامه پیدا کرد. (11 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .