My Alarm Manager does not work in background

匆匆过客 提交于 2020-08-26 05:39:06

问题


I prepared for my application alarm manager. I need run this every hour and check if data is changed.

I have set the alarm manager like this:

 Calendar cal = Calendar.getInstance();
    cal.add(Calendar.HOUR, 1);
    android.app.AlarmManager alarmMgr = (android.app.AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(mContext, AnalysisNotificationReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, ALARM_ID, intent, 0);
    if (Calendar.getInstance().after(cal)) {
        cal.add(Calendar.DAY_OF_MONTH, 1);
    }
    alarmMgr.setRepeating(android.app.AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 60 * 60 * 1000, pendingIntent);

It's should work in every 60 minutes I'm not sure if I set correctly but doesn't work when app close.

Anyone have a idea? Thanks


回答1:


You can try this, it worked for me

AlarmManager alarmManager= (AlarmManager) getSystemService(Context.ALARM_SERVICE);

Intent scheduleServiceExecuterIntent = new Intent(this, ScheduledServiceExecuter.class);

scheduleServiceExecuterIntent.putExtra("state", "Main");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, request_code, intent, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time, AlarmManager.INTERVAL_HOUR, pendingIntent);


来源:https://stackoverflow.com/questions/63208559/my-alarm-manager-does-not-work-in-background

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!