PDA

View Full Version : کار با AlarmManager



darkenerboy
پنج شنبه 24 مهر 1393, 09:22 صبح
سلام به همه اساتید
این کد برنامه من برای ایجاد یاد آور

AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, X.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 5, i, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), n, pi);

این هم کد برنامه برای حذف یادآور

AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, X.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 5, i, 0);
am.cancel(pi);

این هم کد برنامه برای بررسی وجود یادآور

if(PendingIntent.getBroadcast(context, 5, new Intent(context, X.class), PendingIntent.FLAG_NO_CREATE) != null)
//Command...

اما درست کار نمیکنه
وقتی بررسی میکنم همیشه میگه یادآور وجود داره و کد حذف صحیح کار نمیکنه
ممنون میشم اطلاعات خودتون رو در اختیار من قرار بدید
با تشکر

dasssnj
پنج شنبه 24 مهر 1393, 11:49 صبح
بهتره از همون شئ AlarmManager که برای ایجاد یاد آور ساختید برای کنسل استفاده کنید و شئ جدید نسازید . اون شئ را به صورت static و عمومی توی کلاستون تعریف کنید تا هر وقت لازم بود بشه بهش دسترسی داشت و متد cancel اش را صدا زد.

البته مطمئن نیستم . تست کنید و نتیجه را بگید.

abbasalim
پنج شنبه 24 مهر 1393, 12:48 عصر
---------- ---------- ----------
---------- ----------
----------
---------- ----------
---------- ---------- ----------
---------- ---------- ----------
---------- ----------
----------
---------- ----------
---------- ---------- ----------
---------- ---------- ----------
---------- ----------
----------
---------- ----------
---------- ---------- ----------

#root#
پنج شنبه 24 مهر 1393, 13:31 عصر
سلام ، قبلا یه جستجویی داشتم ، به این نتیجه رسیدم که نمیتونیم از وجود یه Alarm ثبت شده اطلاع پیدا کنیم ، همینجوری رو هوا باید کنسلش کنیم :لبخند: ، بهتره خودمون در صورت نیاز اطلاعاتشو موقع تنظیم ذخیره کنیم و ...