android - AlarmManager service invocation not working -
android - AlarmManager service invocation not working -
i trying run service on specific time every day (i.e. 11 am) using alarmmanager. reason code not working.
alarmmanager
public class schedulehelper { /** * @param context * @param intent * @param hourofday */ public static void scheduledayly(context context){ calendar cal = new gregoriancalendar(); cal.set(calendar.hour_of_day, 11); cal.set(calendar.minute, 0); cal.set(calendar.second, 0); intent intent = new intent(context, notificationservice.class); schedule(context, intent, cal, alarmmanager.interval_day, 1337); } /** * @param context * @param intent * @param calendar */ private static void schedule(context context, intent intent, calendar calendar, long alarmmanagertimeinterval, int requestcode) { pendingintent pendingintent = pendingintent.getbroadcast(context, requestcode, intent, 0); toast.maketext(context, "running in " + (system.currenttimemillis()-calendar.gettimeinmillis()) + " ms", toast.length_long).show(); alarmmanager alarmmanager = (alarmmanager) context .getsystemservice(context.alarm_service); alarmmanager.setrepeating(alarmmanager.rtc_wakeup, calendar.gettimeinmillis(), alarmmanagertimeinterval, pendingintent); } } notificationservice
public class notificationservice extends service { @override public ibinder onbind(intent intent) { homecoming null; } @override public void oncreate() { log.i("service", "service created"); super.oncreate(); } @override public void onstart(intent intent, int startid) { log.i("service", "service started"); //todo: create notification super.onstart(intent, startid); } @override public void ondestroy() { super.ondestroy(); log.i("service", "service destroyed"); } @override public int onstartcommand(intent intent, int flags, int startid) { log.i("service", "service start command received"); homecoming service.start_sticky; } } according logcat service never created or started (i tried set calendar 5 minutes past same result)
can please give me tips doing wrong? reading through several questions same topic here unfortunately didn't help prepare problem.
to utilize service pending intent, utilize :
pendingintent pendingintent = pendingintent.getservice(context, requestcode, intent, 0); this when want broadcast pending intent.
pendingintent pendingintent = pendingintent.getbroadcast(context, requestcode, intent, 0); android service alarmmanager
Comments
Post a Comment