PDA

View Full Version : مشکل در شروع به کار Alarm Manager



djsaeedkhan
چهارشنبه 14 تیر 1396, 12:37 عصر
با سلام. من از کد زیر برای استارت سرویس استفاده میکنم. ولی مشکل اینه ک زمان تکرار ابتدای هر دقیقه نیست و گاهی وسط هر دقیقه تیک اجرای کلاس زده میشه. چکارش کنم بیا اول دقیقه
PendingIntent pendingIntent3;
AlarmManager manager =(AlarmManager) getSystemService(Context.ALARM_SERVICE);


Intent alarmIntent3 = new Intent(getBaseContext(), myReceiver.class);
pendingIntent3 = PendingIntent.getBroadcast(getBaseContext(), 0, alarmIntent3, 0);


manager.setRepeating(AlarmManager.ELAPSED_REALTIME _WAKEUP,
SystemClock.currentThreadTimeMillis(),
1*60*1000, pendingIntent3);

djsaeedkhan
چهارشنبه 14 تیر 1396, 21:27 عصر
سلام.
باتوجه به اینکه کسی پاسخ نداد، من سوالم رو توی سایت stackoverflow گذاشتم و خوشبختانه جواب گرفتم. ازین بابت جواب رو اینجا میگذارم تا اگر کسی نیاز داشت بتونه استفاده کنه.
توضیح اینکه این کار میتونه برای کاری مثلا بررسی و پخش اذان استفاده بشه. و اینکه کلا اگر بخوایم ابتدای دقیقه کاری انجام بشه

Intent alarmIntent3 =newIntent(getBaseContext(), myReceiver.class);
PendingIntent pendingIntent3 =PendingIntent.getBroadcast(getBaseContext(),0, alarmIntent3,PendingIntent.FLAG_UPDATE_CURRENT);


// Current time
Calendar calendarNotifiedTime =Calendar.getInstance();
calendarNotifiedTime.setTimeInMillis(System.curren tTimeMillis());
calendarNotifiedTime.set(Calendar.SECOND,0);


// Set alarm
AlarmManager manager =(AlarmManager) getSystemService(Context.ALARM_SERVICE);
manager.setRepeating(AlarmManager.RTC_WAKEUP, calendarNotifiedTime.getTimeInMillis(),1*60*1000, pendingIntent3);