R – Compact Framework – System.Threading.Timer stops when the user turns off the screen

compact-frameworkpower-management

I have an application that needs to "poll" a webservice to see if the user has any new messages waiting. I have no control over the webservice so I cannot switch to a "push" mechanism, I'm stuck making a request every X number of seconds to see what's available.

I am using a System.Threading.Timer to make the request every so often, but am encountering a few problems. The biggest is that it stops running when the phone is sent into "standby" mode (screen off, but still able to get calls and email/txt notifications).

I'd really like it to behave like other background applications. What can I do to make it work without being too big of a drain on the battery?

Best Solution

Hate to answer my own question, but I was pointed to this, which was able to perform even when the device is asleep. Looks like it's working perfectly.