如何在Calendar对象中设置选择时间?

时间:2012-04-07 16:11:17

标签: android service calendar alarmmanager

很抱歉,如果这个问题有点误导。

我早些时候提出了另一个问题,并且通过它的帮助我得到了这么远。这是问题所在。

我应该在特定时间启动服务。现在......如果我通过使用Calendar对象的当前时间立即启动它,服务就会启动,但是当我手动设置时间时,服务不会启动。这是代码:

    Calendar myCal = Calendar.getInstance();
    myCal.set(Calendar.HOUR_OF_DAY, 21);
    myCal.set(Calendar.MINUTE, 4);

    // Will use putExtras here to give service the details of which profile to activate
    Intent intent = new Intent(Create.this, AutoBot.class);
    PendingIntent pintent = PendingIntent.getService(Create.this, 0, intent, 0);
    AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    alarm.setRepeating(AlarmManager.RTC_WAKEUP, myCal.getTimeInMillis(), 5*1000, pintent);

现在这应该在技术上有效,但事实并非如此。这就是为什么我需要你的帮助:(

另外,如果我有多个触发器(警报本身),setRepeating的第三个参数是什么?

2 个答案:

答案 0 :(得分:0)

我认为您还需要设置日月和年。 millis的日期是1970年1月1日

答案 1 :(得分:0)

我认为此链接可能会回答您的问题。它解释了一个限制 警报管理器保持唤醒锁定的系统将在过早发布 提供服务。请参阅此讨论:http://groups.google.com/group/android-developers/browse_thread/thread/2b98206d18a0192f/

希望这有帮助。