۱۳۹۴/۰۸/۲۷, ۰۳:۱۷ ق.ظ
کلاس زیر رو از اینترنت گرفتم که قشنگ کار میکنه و هر 15 دقیقه یکبار کد ما رو اجرا میکنه فقط مشکل اینه که وقتی SetAlarm رو انجام میدم چند ثانیه بعد کد رو اجرا میکنه 15 دقیقه بعد هم اجرا میکنه من می خوام اولش اجرا نکنه. نمی دونم مشکل این کلاس چیه!؟
کد پیاچپی:
public class Alarm extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
//Your Code
Toast.makeText(context, "Alarm !!!!!!!!!!", Toast.LENGTH_LONG).show(); // For example
wl.release();
}
public void SetAlarm(Context context)
{
AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, Alarm.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 60 * 15, pi); // Millisec * Second * Minute
}
public void CancelAlarm(Context context)
{
Intent intent = new Intent(context, Alarm.class);
PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(sender);
}
}