PDA

View Full Version : ارسال اس ام اس در یک روز خاص



abbasalim
جمعه 03 آبان 1392, 11:57 صبح
بنام خدا
سلام
من میخوام یک اس ام اس در روز های خاص هفته مثلا شنبه و دو شنبه ارسال کنم
این لینک به نظر خوب میاد ولی روز رو مشخص نکرده و هرروز کاررو تکرار میکنه
http://stackoverflow.com/questions/8644199/android-send-sms-periodically

javadaskari
جمعه 03 آبان 1392, 17:42 عصر
سلام
خب میتونی قبل ارسال با یه دستور if ساده روز رو چک کنی بعد بفرستی، مثلا:

Calendar cal = Calendar.getInstance();
if(cal.getTime().getDay() == 6)
{
//Send sms
}

abbasalim
جمعه 03 آبان 1392, 21:44 عصر
خب سوالم رو اینطوری باد بپرسم که از سرویس استفاده کنم ؟‌یا بک گروند سرویس یا الارم منیجر چیه؟ کلا از چی استفاده کنم بهتره؟ چون این مثال از میلی ثانیه استفاده میکنه که به نظرم مصرفش بالاس

Modernidea
جمعه 03 آبان 1392, 22:12 عصر
سلام

برای اینکه ببنید کدام گزینه هزینه کمتری دارد، به اسناد خود گوگل مراجعه کنید.
مثالی که لینک آن را قرار دادید، کاملا از تذکر خود گوگل پیروی کرده است:


Note: The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running. For normal timing operations (ticks, timeouts, etc) it is easier and much more efficient to use Handler (http://developer.android.com/reference/android/os/Handler.html).
مثالی هم که آقای عسکری نوشتند صحیح است اما شرطی که در مثال قید شده باید کی و کجا چک شود؟
به نظر من باید توسط Alarm Manger یک Alarm تکرار شونده تعریف کنید که هر روز چک کند که آیا تاریخ مورد نظر با تاریخ فعلی دستگاه برابر است یا نه و اگر بود، عمل مورد نظر را انجام دهد.
سوالی مرتبط با Alarm Manager (http://barnamenevis.org/showthread.php?424260-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%88-%D8%AD%D8%B0%D9%81-reminder-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=1901470&viewfull=1#post1901470)

موفق باشید.

abbasalim
یک شنبه 05 آبان 1392, 12:42 عصر
ممنون من از AlarmManager استفاده کردم ولی الان فقط یک بار انجام میشه (طبق اون مثاله که گفتین) ولی من میخوام همینطوری اجرا باشه و هرروز چک کنه

حل شد با am.setRepeating

Modernidea
یک شنبه 05 آبان 1392, 23:13 عصر
سلام

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

موفق باشید.

javadaskari
سه شنبه 07 آبان 1392, 19:36 عصر
شما میگید که میخواهید در روزهای خاص پیام بره ، خب با ورود به برنامه همان دستوری که نوشتم یکبار روز رو چک میکنه و پیام رو میفرسته ، دیگه نیازی به thread و سرویس و ... نیست چون برنامه به مدت 24 ساعت که باز نیست!!! و حتما توسط کاربر بسته و دوباره اجرا میشود!