我需要在每晚的午夜运行一个服务。我想使用AlarmManager来实现这个功能。
您能给我一些指导,如何使其正确地工作吗?
alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, System.currentTimeMillis(), AlarmManager.INTERNAL_DAY, serviceIntent);
也许我需要使用日历对象来指定时间?感谢任何帮助!
Calendar midnight = Calendar.getInstance(); midnight.set(Calendar.HOUR_OF_DAY,0); midnight.set(Calendar.MINUTE,0); midnight.set(Calendar.SECOND,0); midnight.set(Calendar.MILLISECOND,0); alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, midnight.getTimeInMillis(), AlarmManager.INTERVAL_DAY, serviceIntent);
- Nate RadebaughAlarmManager
的目的是消除您的服务需要尝试永久运行(它无法做到)的需求。如果 Android 杀死了您的服务以释放内存,那就意味着服务仍在运行。我不认为这会对您的闹钟产生任何影响。 - CommonsWare