This is where I'm at.. can fail when the phone goes into deep sleep.  Trying to avoid holding a permanent wakelock.