Trying another workaround: re-scheduling alarms (those that fired early)
to the intended time right in the receiver's onReceive.
Good: the actual app code won't be called earlier than expected.
Bad: the early alarms will still cause device wakeups.