In tests I've done on a Nokia 6600, the accuracy of the PushRegistry alarm is out quite a bit. I set the alarm for 2 hours, and it started the MIDlet in just under 1 hour. Has anyone had any experience with setting the alarm over a number of hours?
OK, but what do timezones have to do with it? The PushRegistry.registerAlarm API takes a long representing the number of milliseconds since the epoch, so to set an alarm for 60 seconds from now, you would do this:
Date now = new Date();
PushRegistry.registerAlarm( "AlarmMIDlet", now.getTime() + 60*1000 );
The problem is if you set the alarm for 2 hours from now (i.e. 2*60*60*1000); the alarm will be triggered before 1 hour has passed.
You are right, I though that I have messed up with time zones but now I can reproduce the problem you mentioned. It seems that there's some undocumented upper limit for the alarm interval!
I used 6600, don't know if this applies to other series 60 phones...