Java AlarmManager不会使用自定义日历对象触发
我试图使用自定义时间设置警报,但我所做的一切都不起作用。启动AlarmManager的唯一方法是使用Java AlarmManager不会使用自定义日历对象触发,java,android,Java,Android,我试图使用自定义时间设置警报,但我所做的一切都不起作用。启动AlarmManager的唯一方法是使用Calendar.getInstance().getTimeInMillis()。 为了获取我的时间,我从SQLite数据库中检索了它们。我仔细检查了一下,没有一个值是空的 for (QueuePostFb q : queueFb) { String day = q.getDay(); String month = q.getMonth();
Calendar.getInstance().getTimeInMillis()。
为了获取我的时间,我从SQLite数据库中检索了它们。我仔细检查了一下,没有一个值是空的
for (QueuePostFb q : queueFb)
{
String day = q.getDay();
String month = q.getMonth();
String year = q.getYear();
String hour = q.getHour();
String minute = q.getMinute();
String amPm = q.getAmPm();
String message = q.getMessage();
String token = q.getTokens();
String photoUri = q.getAttachmentUris();
int m = Integer.parseInt(month);
int d = Integer.parseInt(day);
int y = Integer.parseInt(year);
int mi = Integer.parseInt(minute);
int h = Integer.parseInt(hour);
Calendar c = Calendar.getInstance();
if (amPm.equals("AM")){
c.set(Calendar.AM_PM, Calendar.AM);
}
else if (amPm.equals("PM")){
c.set(Calendar.AM_PM, Calendar.PM);
}
AlarmManager fAm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
c.set(Calendar.DAY_OF_MONTH, d);
c.set(Calendar.YEAR, y);
c.set(Calendar.MINUTE, mi);
c.set(Calendar.MONTH, m);
c.set(Calendar.HOUR, h);
Intent fService = new Intent(this, QueuedService.class);
fService.putExtra("fb_token", token);
fService.putExtra("fb_photo_uri", photoUri);
fService.putExtra("fb_message", message);
fService.putExtra("type", "Facebook");
PendingIntent fPi = PendingIntent.getService(getApplicationContext(), 0, fService, PendingIntent.FLAG_UPDATE_CURRENT);
// Will work if Calendar.getInstance().getTime().getTimeInMillis()
fAm.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), fPi);
}
调用Calendar对象上的setter方法后,打印日期,如System.out.println(c.getTime());并确保打印的日期和时间正确。