问题
I am developing an app for android that measures some network parameters every hour. I already have the code to do the measurements, so I only need some help on how to make it do it periodically. What should I use? Timers, Alarms or something else? Do you have any easy example on how it works?
Thanks for your help!
回答1:
The only good answer is to use AlarmManager
. Having a service that sits for an hour waiting for the hour to pass is ridiculous.
回答2:
Using a service (so that you're not tied to an activity) you can use Handler.postAtTime to schedule a task in the future
Handler.postAtTime
回答3:
Both should work. How about a service that runs in the background?
回答4:
A service may or may not be shut down by the OS. A scheduled task may or may not start because the device might be in "deep sleep" mode. Yo should double check this, use a service and also schedule a task, if the task opens, verify with a lock or any device you want and work accordingly. That way you are almost certain that the readings will be done.
来源:https://stackoverflow.com/questions/9231884/what-is-better-in-android-timer-or-alarm