所以我有这个代码,以便每天早上7:32开始服务:
Calendar cur_cal = new GregorianCalendar();
cur_cal.setTimeInMillis(System.currentTimeMillis());
Calendar cal = new GregorianCalendar();
cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
cal.set(Calendar.HOUR_OF_DAY, 7);
cal.set(Calendar.MINUTE, 32);
Intent start = new Intent(getActivity(), Services.class);
PendingIntent PI = PendingIntent.getService(getActivity(), 0, start, 0);
AlarmManager am = (AlarmManager)getActivity().getSystemService(getActivity().ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 10*1000, PI);
getActivity().startService(start);
但它似乎不起作用,它在指定的时间没有启动服务。有人能帮助我吗?
答案 0 :(得分:0)
好吧,首先关闭你的重复将无法工作,因为你将间隔设置为10秒。为了实现这一目标,您需要1000 * 60 * 60 * 24.。
其次,您的日历添加已关闭。你想要cur_cal.add(Calendar.DAY_OF_YEAR, 1)
。这将把它移到明天。你正在做的基本上是乘以2。