I have an alarm
that I want to set off every 10 minutes, but it is not firing. Here is where I am setting up the AlarmService
in my MainActivity
. And yes, I've declared the WAKE_LOCK
permission.
Calendar cal2 = Calendar.getInstance();
cal2.add(Calendar.MINUTE, 1);
PendingIntent getSqlUpdatesTimer = PendingIntent.getService(this, 0, new Intent(AlarmService.PULL_SQLUPDATES_ACTION, null, this, AlarmService.class), 0);
alarmManager.cancel(getSqlUpdatesTimer);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal2.getTimeInMillis(), 600000, getSqlUpdatesTimer);
Here is my alarm Service:
public class AlarmService extends Service {
public static final String PULL_SQLUPDATES_ACTION = "com.mycompany.AlarmService.PULL_SQLUPDATES";
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent != null) {
if (PULL_SQLUPDATES_ACTION.equals(intent.getAction())) {
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
wl.acquire();
GetSQLUpdates retrieveSQLUpdates = new GetSQLUpdates(null);
retrieveSQLUpdates.execute("sp_A_Get_SQLUpdates", "sp_A_Put_SQLUpdates");
wl.release();
}
}
return START_STICKY;
}
}
What am I missing?
I wasn't able to get it to start this way, so I used a
BroadcastReceiver
instead of a service from this answer:Alarm Manager Example:
And the class: