انجمن سایت کلیدستان



مشکل در ساخت notification (برنامه نویسی اندروید)زمان کنونی: ۱۳۹۶/۰۷/۰۳، ۱۲:۳۷ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: rexo
آخرین ارسال: rexo
پاسخ 2
بازدید 167

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در ساخت notification (برنامه نویسی اندروید)

مشکل در ساخت notification (برنامه نویسی اندروید)

#1
سلام به همگی...
من در حال ساخت یه اپلیکشن هستم که توی اون از یه دیتابیس استفاده کردم. زمان رو با استفاده از TimePicker  در این دیتابیس ذخیره کردم و بعد از بازیابی و فراخوانی زمان، وقتی این زمان رو درون AlarmManager با استفاده از درستور setRepeating قرار میدم، به جای اینکه notification در زمان مورد نظر به نمایش در بیاد،  یکبار به محض اینکه اکتیویتی بالا میاد این notification اجرا میشه و یکبار هم در زمان خودش!!!!!!!!!!!!!!!!

از دستورهای set و setExact هم در AlarmManager استفاده کردم، ولی باز هم همون اتفاق میوفته اون هم فقط یکبار وقتی اکتیویتی اجرا میشه و دیگه توی زمان مورد نظر اتفاق نمیوفته!!!!!!!!!!!

متد scheduleNotification:

کد:
public void scheduleNotification(Notification notification, int hour, int minute) {
       Intent notificationIntent = new Intent(getContext().getApplicationContext(), TaskReceiver.class);
       notificationIntent.putExtra(TaskReceiver.NOTIFICATION_ID, 0);
       notificationIntent.putExtra(TaskReceiver.NOTIFICATION, notification);
       PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext().getApplicationContext(), 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

       Calendar calendar = Calendar.getInstance();
       calendar.set(Calendar.HOUR_OF_DAY, hour);
       calendar.set(Calendar.MINUTE, minute);
       calendar.set(Calendar.SECOND, 0);
       AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
       alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
   }

ممنون میشم راهنمایی کنید...
پاسخ

مشکل در ساخت notification (برنامه نویسی اندروید)

#2
(۱۳۹۶/۰۴/۱۷, ۰۹:۵۱ ق.ظ)rexo نوشته: سلام به همگی...
من در حال ساخت یه اپلیکشن هستم که توی اون از یه دیتابیس استفاده کردم. زمان رو با استفاده از TimePicker  در این دیتابیس ذخیره کردم و بعد از بازیابی و فراخوانی زمان، وقتی این زمان رو درون AlarmManager با استفاده از درستور setRepeating قرار میدم، به جای اینکه notification در زمان مورد نظر به نمایش در بیاد،  یکبار به محض اینکه اکتیویتی بالا میاد این notification اجرا میشه و یکبار هم در زمان خودش!!!!!!!!!!!!!!!!

از دستورهای set و setExact هم در AlarmManager استفاده کردم، ولی باز هم همون اتفاق میوفته اون هم فقط یکبار وقتی اکتیویتی اجرا میشه و دیگه توی زمان مورد نظر اتفاق نمیوفته!!!!!!!!!!!

متد scheduleNotification:

کد:
public void scheduleNotification(Notification notification, int hour, int minute) {
       Intent notificationIntent = new Intent(getContext().getApplicationContext(), TaskReceiver.class);
       notificationIntent.putExtra(TaskReceiver.NOTIFICATION_ID, 0);
       notificationIntent.putExtra(TaskReceiver.NOTIFICATION, notification);
       PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext().getApplicationContext(), 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

       Calendar calendar = Calendar.getInstance();
       calendar.set(Calendar.HOUR_OF_DAY, hour);
       calendar.set(Calendar.MINUTE, minute);
       calendar.set(Calendar.SECOND, 0);
       AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
       alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
   }

ممنون میشم راهنمایی کنید...

مشکل برطرف شد...
با تغییراتی که توی receiver اعمال کردم تونستم مشکل رو حل کنم...
پاسخ
 سپاس شده توسط admin


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)