1

对不起,如果这个问题有点误导。

我之前问了另一个问题,在它的帮助下我走到了这一步。这是问题所在。

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

    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 的第三个参数是什么?

4

2 回答 2

0

我认为您还需要设置日月和年。以毫秒为单位的日期是 1970 年 1 月 1 日

于 2012-04-07T16:21:32.063 回答
0

我认为此链接可能会回答您的问题。它解释了系统中存在一个限制,即警报管理器持有的唤醒锁在交付给服务时会过早释放。请参阅此讨论:http ://groups.google.com/group/android-developers/browse_thread/thread/2b98206d18a0192f/

希望这可以帮助。

于 2012-04-07T20:35:09.263 回答