So I have a very simple android activity that starts a timer when you hit a button.
Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        doStuff();
   }
}, 15 * 60 * 1000);
So this worked开发者_如何学运维 reasonably well for me when I was testing but as it turns out when the screen becomes inactive so does the timer. I was a bit surprised by this. I understand you need to create a service to have anything running in the background but I hadn't realized this is required for an activity in the foreground when the phone has inactivated the screen due to lack of activity. What confuses me is I think this worked as I expected originally and just in the last few weeks or so has the timer been affected by the phone saving power. I could be wrong though..
So basically my questions are: am I seeing expected behavior? Do I need to create all timers as services or somehow disallow powersaving?
thanks for any advice, Patrick
I was a bit surprised by this.
When the screen goes off, the CPU shuts down shortly thereafter. Your user of Timer has nothing to do with it, as that's a Java thing, not an Android thing.
What confuses me is I think this worked as I expected originally and just in the last few weeks or so has the timer been affected by the phone saving power.
I highly doubt that.
am I seeing expected behavior?
Yes.
Do I need to create all timers as services or somehow disallow powersaving?
If you have an activity that must keep the screen and device on, use:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
However, this should be for something like a video player.
If you are trying to do something more like a Windows scheduled task or Linux cron job, you will want to use AlarmManager and an IntentService, perhaps a WakefulIntentService.
There are other possibilities as well, but I don't know what you're trying to build.
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论