PDA

View Full Version : ست کردن بیش از 100 آلارم.



gjmkdyttyhujk
یک شنبه 31 خرداد 1394, 12:10 عصر
سلام دوستان. من یه برنامه دارم که توی اون باید حدود 120 تا آلارم رو ست کنم. هر کدوم از این آلارم ها توی یه تاریخی از سال باید کاری رو انجام بدند. الان تاریخ های این ایونت ها در دیتابیس هستند که اونا رو می خوانم ولی نحوه ست کردن آلارم ها رو مشکل دارم. یکی هم اینکه چجوری بفهمم مثلا در زمان اتفاق افتادن فلان آلارم باید چه کاری کنم. منظورم اینه که مثلا در تاریخ 10 تیر یه آلارمی به کاربر داده میشه. حالا من می خواستم که این آلارم شخصی شده باشه برای اون تاریخ. مثلا یه Toast ای بیاد و بگه که زمان رفتن به اداره هست. خیلی ممنونم.

gjmkdyttyhujk
یک شنبه 31 خرداد 1394, 16:10 عصر
این تاپیک 30 بار دیده شده. یعنی یکی از این 30 تا جواب نبوده.!!!

tux-world
یک شنبه 31 خرداد 1394, 19:53 عصر
دوست عزیز. تو یکی از تاپیکهایی که شما تشریف داشتید عرض کردم که این کار اشتباهه
شما باید یه آلارم ست کنید و سرویس ران کنید اونجا تاریخ رو بررسی کنید. اینطوری بخوایید آلارم ست کنید پدر صاحب گوشی رو در میارید که :لبخندساده:

gjmkdyttyhujk
یک شنبه 31 خرداد 1394, 20:06 عصر
دوست عزیز. تو یکی از تاپیکهایی که شما تشریف داشتید عرض کردم که این کار اشتباهه
شما باید یه آلارم ست کنید و سرویس ران کنید اونجا تاریخ رو بررسی کنید. اینطوری بخوایید آلارم ست کنید پدر صاحب گوشی رو در میارید که :لبخندساده:

سرویس رو چجوری ران کنم که به آلارم ها پاسخ بده؟ نمونه کدی اگه دارید ممنون میشم در اختیارم قرار بدید. درمورد روش ست کردن قبلی مضرات این کار چیه؟ باتری بیشتر مصرف میشه یا رم یا پردازنده؟

tux-world
یک شنبه 31 خرداد 1394, 21:44 عصر
در کل پدر گوشی رو شما در میارید. یه دونه آلارم تعریف میکنید که سرویس رو ران میکنه هر چند دیقه میخوایید. تاریخ رو بررسی کنید و کارتون رو انجام بدید دیگه نیازی نیست آلارم دیگه ای تو آلارم فعلی ایجاد کنید:لبخندساده:

gjmkdyttyhujk
یک شنبه 31 خرداد 1394, 21:49 عصر
در کل پدر گوشی رو شما در میارید. یه دونه آلارم تعریف میکنید که سرویس رو ران میکنه هر چند دیقه میخوایید. تاریخ رو بررسی کنید و کارتون رو انجام بدید دیگه نیازی نیست آلارم دیگه ای تو آلارم فعلی ایجاد کنید:لبخندساده:

اگه با یه تنظیم آلارم پدر گوشی درمیاد همون بهتر که دربیاد. میشه کدی در این مورد در اختیارم قرار بدید. راستش با سرویس ها و کاری که قراره انجام بدم زیاد آشنا نیستم.:لبخندساده:

gjmkdyttyhujk
دوشنبه 01 تیر 1394, 12:51 عصر
دوستان میشه یه کدی در این مورد ران کردن سرویس و گرفتن تاریخ و بعد از اون انجام کار در اختیار من قرار بده. خیلی ممنون میشم.

tux-world
دوشنبه 01 تیر 1394, 14:08 عصر
یه نمونه خلاصه شده از پروژه خودم رو میزارم ببین

public class BroadcastConfiguration extends BroadcastReceiver {

public static void setAlarmSate(Context context, boolean start) {
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, ServiceEitaaUpdater.class);
intent.setAction("ir.tsms.eitaa.alarms.receive_data");
PendingIntent pendingIntent = PendingIntent.getService(context, RequestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);

if (start)
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + START_PERIOD, G.getScheduleRepeatPeriod(), pendingIntent);
else
alarmManager.cancel(pendingIntent);

UC.debugLog(traceElements, G.DEBUG, SV.Messages[8] + " " + start);
}

public static boolean networkConnectionState(Context mContext) {
ConnectivityManager connectivity = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SER VICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}

public static boolean connectionAvailable() {
return networkConnectionState(G.context);
}

@Override
public void onReceive(Context context, Intent intent) {
UC.debugLog(traceElements, G.DEBUG, SV.Messages[8] + " " + connectionAvailable() + "");
setAlarmSate(context, connectionAvailable());

context.sendBroadcast(RefreshCategories, null);
context.sendBroadcast(RefreshCategoryContent, null);
}
}

tux-world
دوشنبه 01 تیر 1394, 14:11 عصر
یه نمونه خلاصه شده از پروژه خودم رو میزارم ببین

public class BroadcastConfiguration extends BroadcastReceiver {

public static void setAlarmSate(Context context, boolean start) {
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, ServiceEitaaUpdater.class);
intent.setAction("com.sample.alarms.receive_data");
PendingIntent pendingIntent = PendingIntent.getService(context, RequestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);

if (start)
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + START_PERIOD, G.getScheduleRepeatPeriod(), pendingIntent);
else
alarmManager.cancel(pendingIntent);

UC.debugLog(traceElements, G.DEBUG, SV.Messages[8] + " " + start);
}

public static boolean networkConnectionState(Context mContext) {
ConnectivityManager connectivity = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SER VICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}

public static boolean connectionAvailable() {
return networkConnectionState(G.context);
}

@Override
public void onReceive(Context context, Intent intent) {
UC.debugLog(traceElements, G.DEBUG, SV.Messages[8] + " " + connectionAvailable() + "");
setAlarmSate(context, connectionAvailable());

context.sendBroadcast(RefreshCategories, null);
context.sendBroadcast(RefreshCategoryContent, null);
}
}

gjmkdyttyhujk
دوشنبه 01 تیر 1394, 14:30 عصر
یه نمونه خلاصه شده از پروژه خودم رو میزارم ببین

public class BroadcastConfiguration extends BroadcastReceiver {

public static void setAlarmSate(Context context, boolean start) {
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, ServiceEitaaUpdater.class);
intent.setAction("com.sample.alarms.receive_data");
PendingIntent pendingIntent = PendingIntent.getService(context, RequestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);

if (start)
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + START_PERIOD, G.getScheduleRepeatPeriod(), pendingIntent);
else
alarmManager.cancel(pendingIntent);

UC.debugLog(traceElements, G.DEBUG, SV.Messages[8] + " " + start);
}

public static boolean networkConnectionState(Context mContext) {
ConnectivityManager connectivity = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SER VICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}

public static boolean connectionAvailable() {
return networkConnectionState(G.context);
}

@Override
public void onReceive(Context context, Intent intent) {
UC.debugLog(traceElements, G.DEBUG, SV.Messages[8] + " " + connectionAvailable() + "");
setAlarmSate(context, connectionAvailable());

context.sendBroadcast(RefreshCategories, null);
context.sendBroadcast(RefreshCategoryContent, null);
}
}

در مورد این کدتون میشه توضیح بدید چیکار میکنه؟

tux-world
دوشنبه 01 تیر 1394, 14:40 عصر
یه آلارم منیجر نوشتم و اون رو تو یه تایم زمانی پنج دقیقه گفتم فعال شه و حالت متدام داشته باشه. هر بار اجرا سرویسی که نوشتم رو اجرا میکنه. بقیه کارا تو سرویسم اجرا میشه