做项目时遇到一个问题,我想在应用A在栈顶也就是前台运行时,定期的启用一样操作,我开始直接在程序启动时用Timer定时器开始一项任务,执行操作。之后就发现问题了,因为应用A在后台时Timer定时器也启用了,照样执行操作。也许有人认为只要操作不显露在前台,无所谓,但是万一需要它显露在前台时,就会出现问题。难道要让用户看到她正在玩应用B,”嘭“的跳出应用A?
于是需要我判断应用是否位于前台(请查看我的另一篇文章“
Android 判断程序是否位于前台,检查当前运行的程序
”),当程序位于前台时执行操作;当程序不位于前台时执行了,执行另外的操作,比如说取消定时器。Timer timer = new Timer();
//a时间之后执行Task(),以后每间隔b执行
timer.schedule(new Task(),a,b);
你可以在task中判断程序是否位于前台。
好了,希望对大家有所帮助!