سلام به همه
دوستان من میخوام تو یه زمان خاص مثلا ساعت 12:10 شب یه نوتیفیکیشن نمایش داده بشه و این کار رو با service انجام دادم ولی نمیدونم چرا درست اجرا نمیشه
فقط موقعی که مقدار ساعت و دقیقه زمان حال(یعنی همون موقع که داریم سرویس رو فعال میکنیم) با مقادیر تعیین شده توسط کاربر برابر باشه نوتیفیکیشن نمایش داده میشه
الان یخورده گیج شدم این وسط
یه دوستی گفت از alarm manager استفاده کنم ولی نمیدونم چجوری
اینم کد سرویسی که نوتیفیکیشن ارسال میکنه:
دوستان من میخوام تو یه زمان خاص مثلا ساعت 12:10 شب یه نوتیفیکیشن نمایش داده بشه و این کار رو با service انجام دادم ولی نمیدونم چرا درست اجرا نمیشه
فقط موقعی که مقدار ساعت و دقیقه زمان حال(یعنی همون موقع که داریم سرویس رو فعال میکنیم) با مقادیر تعیین شده توسط کاربر برابر باشه نوتیفیکیشن نمایش داده میشه
الان یخورده گیج شدم این وسط
یه دوستی گفت از alarm manager استفاده کنم ولی نمیدونم چجوری
اینم کد سرویسی که نوتیفیکیشن ارسال میکنه:
کد پیاچپی:
public class NofiService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
SharedPreferences pref4 = getSharedPreferences("NOTIFY", MODE_PRIVATE);
int hour = pref4.getInt("hour",50);
int min = pref4.getInt("min", 100);
Date dt = new Date();
int hours = dt.getHours();
int minutes = dt.getMinutes();
if ( hour == hours && min == minutes){
PendingIntent pIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Notification!")
.setContentText("kelidestan.com")
.addAction(R.mipmap.ic_clear_white_24dp, " نه", pIntent)
.addAction(R.mipmap.ic_done_white_24dp, " آره", pIntent)
.setAutoCancel(true);
intent = new Intent(this, MainActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_NO_CREATE);
mBuilder.setContentIntent(pi);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder.setOngoing(true);
mNotificationManager.notify(0, mBuilder.build());}
return Service.START_FLAG_REDELIVERY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}