امین شاهدی 5,773 ارسال شده در 14 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 14 فروردین، ۱۳۹۴ با سلام. برای مثال ما میخوایم یه مدول از نوع سرویس داشته باشیم که همیشه تو بگراند اجرا باشه . در حالت عادی اگه برنامه رو کلا ببندین سرویس متوقف میشه. با این آموزش میتونین سرویس رو بعد بسته شدن نرم افزار هم به قول معروف زنده نگه دارید برای اینکار از ServiceStartAt استفاده میکنیم این کد رو میتونین تو هر مدول و هر جایی بزارین که مثل StartService عمل میکنه بعد یه زمان سرویس رو اجرا کنه ولی برای اینکه سرویس خودشو بعد از هر دوره زمانی اجرا کنه باید این کد رو داخل خو سرویس درون سابService_Start قرار بدین . به این صورت : [left] Sub Process_Globals End Sub Sub Service_Create End Sub Sub Service_Start (StartingIntent As Intent) StartServiceAt("", DateTime.Now + 10000,True) End Sub Sub Service_Destroy End Sub[/left] توضیح : برای اینکه سرویس خودشو اجرا کنه نام سرویس رو خالی بزارین . قسمت دوم هم زمان اجرا رو تعیین میکنیم ، که ما اینجا گفتیم 10 ثانیه بعد از زمان حال . قسمت سوم هم اگه میخواین زمانی که دستگاه stand by بود هم سرویس اجرا شه باید مقدار رو true قرار بدین در غیر این صورت false . در این حالت حتی اگه برنامه رو کلا kill process کنین یا کلا ببندین باز هم بعد 10 ثانیه سرویس دوباره خودش اجرا میشه. امیدوارم مفید بوده باشه *قلب* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ خسته نباشید. یک نکته ای رو هم مد نظرتون باشه که شما برای اینکه سرویستون اصولی و پایدار باشه بهتره که نوع سرویستون Sticky باشه. در اینصورت شما نیازی ندارید کدی که دوستمون زحمتشو کشیدن رو در Service_Start بنویسیم و اون موقع باید توی : [b]Sub Service_Destroy End Sub[/b] StartServiceAt رو فراخوانی کنیم. یعنی صفات مربوط به سرویس میشه یک همچین چیزی : [b]#Region Service Attributes [/b] [b] #StartAtBoot: True[/b] [b] #StartCommandReturnValue: android.app.Service.START_STICKY[/b] [b]#End Region[/b] و در آخر تشکر از دوست خوبمون به خاطر آموزش *همینه* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ آفرین. من اینو نمیدونستم خیلی مفید بود. اما آقا مجید شما که اینو قرار دادی یعنی دیگه نیازی نیست از کدی که دوستمون داد استفاده کنیم؟ و سرویس رو باهمون دستور startservice اجرا کنیم و اون مقداری که گفتید رو مساوی true قرار بدیم؟؟ و اینکه آیا با این کار بعد از روشن شدن گوشی سرویس خودکار اجرا میشه؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ ببینید اون کدی که دوستمون توی Service_Start قرار دادن ایرادی نداره ولی اینو بدونید سرویسی که در حال اجراس حی بیاییم دوباره استارتش کنیم بعد یک مدت طولانی از کار میوفته به نوبه ای کرش میکنه. خب ما میتونیم از این کد یعنی StartServiceAt توی رویداد Service_Destroy استفاده کنیم تا اگه یک دفعه سرویسمون قطع شد باز بعد یک بازه زمانی مشخصی استارت بخوره. و راجب ServiceAtBoot بنده خودم تست کردم ایرادی نداره و به خوبی بعد از خاموش و روشن شدن گوشی سرویس کارشو انجام میده. و این موضوع رو طبق گفتگویی که بنده با آقای خلیلی داشتم متوجه شدم و این بزرگوار بنده رو راهنمایی کردن. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
asvar 41 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ ببینید اون کدی که دوستمون توی Service_Start قرار دادن ایرادی نداره ولی اینو بدونید سرویسی که در حال اجراس حی بیاییم دوباره استارتش کنیم بعد یک مدت طولانی از کار میوفته به نوبه ای کرش میکنه.خب ما میتونیم از این کد یعنی StartServiceAt توی رویداد Service_Destroy استفاده کنیم تا اگه یک دفعه سرویسمون قطع شد باز بعد یک بازه زمانی مشخصی استارت بخوره. و راجب ServiceAtBoot بنده خودم تست کردم ایرادی نداره و به خوبی بعد از خاموش و روشن شدن گوشی سرویس کارشو انجام میده. و این موضوع رو طبق گفتگویی که بنده با آقای خلیلی داشتم متوجه شدم و این بزرگوار بنده رو راهنمایی کردن. درسته 7,8 بار سرویس استارت بخوره برنامه has stop میده لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ آفرین آقا مجید دقیقا همین اتفاق میفته مثلا برنامه من دقیقا نیاز به سرویس داره که دوستمون گذاشت اینو... و آهنگی که داشت پخش میشد یه دفعه قطع شد دلیلشم کرش سرویس بود. و کد شما هم یه خوبی کار کرد و گوشی رو خاموش روشن کردم سرویس اجرا شد. ولی متاسفانه این کد آقا مهرداد رو تو service_destory قرار دادم و برنامه رو توقف اجباری کردم و بعد از تایم مشخص اصلا به گفته خودش دوباره اجرا نشد. دلیلش چیه؟ مگه نباید تو همین قسمت نوشته بشه.... اگه تو استارت که بنویسیم کرش میکنه. درکل میخوام طرف نتونه برنامه رو ببنده و بعد از بسته شدن دوباره اجرا بشه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ شما کد رو به این شکل قرار بدید سرویس باید اجرا بشه : StartServiceAt("", DateTime.Now + 10 * 1000,True) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین شاهدی 5,773 ارسال شده در 15 فروردین، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ خسته نباشید.یک نکته ای رو هم مد نظرتون باشه که شما برای اینکه سرویستون اصولی و پایدار باشه بهتره که نوع سرویستون Sticky باشه. در اینصورت شما نیازی ندارید کدی که دوستمون زحمتشو کشیدن رو در Service_Start بنویسیم و اون موقع باید توی : [b]Sub Service_Destroy End Sub[/b] StartServiceAt رو فراخوانی کنیم. یعنی صفات مربوط به سرویس میشه یک همچین چیزی : [b]#Region Service Attributes [/b] [b] #StartAtBoot: True[/b] [b] #StartCommandReturnValue: android.app.Service.START_STICKY[/b] [b]#End Region[/b] و در آخر تشکر از دوست خوبمون به خاطر آموزش *همینه* ممنون مفید بود. فقط یه چیزی این کدی که من گفتم رو نمیشه توی Service_destroy به کار برد... دفعه اول خودمم امتحان کردم که بعد destory دوباره اجرا شه ولی کار نکرد یه نکته دیگه من خودم اینو برای چک کردن لینک واسه نوتیفیکیشن استفاده میکنم و تایم startserviceat رو هر نیم ساعت گذاشتم. اینجوری سرویس هر نیم ساعت اجرا میشه ، لینک رو چک میکنه و اینجوری لازم نیست سرویس همیشه اجرا باشه . ولی تو بعضی موارد هم کد شما بهتره . لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ متاسفانه این دستور هم رو تو service_Destory نوشتم تاثیری نداشت! لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 15 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 15 فروردین، ۱۳۹۴ نمیدونم والا.باید یه ترفندی بزنیم که اگه بسته شد هم دوباره اجرا بشه.سر وقت روش کار میکنم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 18 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 18 فروردین، ۱۳۹۴ آقای aminnnnnn پس به طور کلی نتیجه میگیریم آموزش شما به درستی کار نمیکنه و یا بیاید خودتون پاسخ گو باشید!*fekr* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
asvar 41 ارسال شده در 18 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 18 فروردین، ۱۳۹۴ نمیدونم والا.باید یه ترفندی بزنیم که اگه بسته شد هم دوباره اجرا بشه.سر وقت روش کار میکنم تست نکردم ولی بنظرم دوتا سرویس باشه که همدیگرو ساپورت کنه یعنی یه سرویس مواظب سرویس دیگه باشه اگه بسته شد اجراش کنه . اگرم اون یکی بسته شد این یکی اجراش کنه . ولی اگه دوتاشم همزمان بسته شدن دیگه هیچ *laie* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 18 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 18 فروردین، ۱۳۹۴ نه مهرشاد جان حالا شاید دوتا باهم بسته بشه که جداست. هیچی... ما میخوایم وقتی کسی برنامه رو از تنظیمات توقف اجباری کرد سرویس دوباره اجرا بشه. اما با اینی که شما میگی با بسته شدن برنامه هردو سرویس متوقف میشن. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین شاهدی 5,773 ارسال شده در 18 فروردین، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 18 فروردین، ۱۳۹۴ آقای aminnnnnn پس به طور کلی نتیجه میگیریم آموزش شما به درستی کار نمیکنه و یا بیاید خودتون پاسخ گو باشید!*fekr* واس من که داره درست کار میده . گفتم که من میخوام یک لینک رو واسه نوتیفیکیشن هر نیم ساعت چک کنه. کاملا هم کار میکنه *hoho* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 18 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 18 فروردین، ۱۳۹۴ خب درسته این کار که طبیعیه باید انجام بده. من منظورم اینه که به گفته شما اگه برنامه kill procces بشه بازهم سرویس خودشو بعد از 10ثانیه اجرا میکنه؟؟؟ که اینکارو نکرد*monkey* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین شاهدی 5,773 ارسال شده در 18 فروردین، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 18 فروردین، ۱۳۹۴ خب درسته این کار که طبیعیه باید انجام بده.من منظورم اینه که به گفته شما اگه برنامه kill procces بشه بازهم سرویس خودشو بعد از 10ثانیه اجرا میکنه؟؟؟ که اینکارو نکرد*monkey* شما کد رو باید تو سرویس استارت بزارین ... تو destroy اگه باشه کارنمیکنه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Mohsen27 199 ارسال شده در 28 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 28 فروردین، ۱۳۹۴ سلام ببخشید میدونم پست قدیمیه ولی مجبور شدم چطور میشه ک این کد رو غیر فعال کرد؟ StartServiceAt("", DateTime.Now + 10 * 1000,True) یعنی مثلا یه شرطی بزاریم ک دیگه کار نکنه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 28 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 28 فروردین، ۱۳۹۴ پاکش کن دیگه *r24* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
houman_aria 2 ارسال شده در 27 بهمن، ۱۳۹۵ اشتراک گذاری ارسال شده در 27 بهمن، ۱۳۹۵ سلام من برای پایدار شدن سرویسم از START_STICKY استفاده کردم و سرویسم بعد از بسته شدن اجرا میشه ولی مشکلم اینه که در این حین یه نوتیفیکیشن میاد و وقتی روی اون کلیک می کنم اجرا نمیشه، یعنی اون اکتویتی رو باز نمی کنه و فقط یه صفحه سیاه میاد بالا میشه راهنمایی کنید؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.