时间设置中的报警管理器问题

时间:2011-01-21 13:24:40

标签: android android-alarms

我想在特定日期和时间设置闹钟。我通过webservice.i获取我的日期和时间已经解析并分割了日期和时间并使用了SimpleDateFormat,现在我想把这个日期和时间放在[alarmManager.set(AlarmManager.RTC_WAKEUP,dt,pendingIntent);]但是我的警报在给定时间内不起作用

       String str_date= hr+":"+min+":"+sec+" "+dat+"/"+mon+"/"+year;
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss dd/MM/yyyy");
    ParsePosition position = new ParsePosition(0);

    java.util.Date stringToDate = sdf.parse(str_date, position);
     dt = stringToDate.getDate();

请帮忙 提前谢谢

2 个答案:

答案 0 :(得分:0)

您应该传递给Alarm.set的时间是long,而getDatedeprecated)会返回一个int。

尝试使用getTime()

答案 1 :(得分:0)

AlarmManager在UTC时区以millesecond为单位使用时间... 所以解析时间必须考虑时区

因此,在SimpleDateFormat新实例之后,您可以设置UTC时区

示例:

SimpleDateFormat sdf = new SimpleDateFormat(“HH:mm:ss dd / MM / yyyy”); sdf.setTimeZone(TimeZone.getTimeZone( “UTC”));

然后你的解析就可以了,并且与AlarmManager服务兼容。