我想执行一个后台任务,而应用程序正在运行,这个任务应该执行(例如)每5分钟,为此我想我会使用 scheduleAtFixedRate()
从 ScheduledThreadPoolExecutor
班级。
但问题是在代码中的什么地方可以这样做??我的理解是,一旦我调用这个方法,它就可以无限期地执行任务(https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/util/concurrent/scheduledthreadpoolexecutor.html#scheduleatfixedrate(java.lang.runnable,long,long,java.util.concurrent.timeunit)),所以只调用一次方法就足够了。
首先我想把它放进去 onCreate()
方法 Application
班级。但即使这个方法也会被多次调用(service/broadcastmanager会导致多次调用)。
然后我想创造一个 class
在里面 class
这个 static variable
: static ScheduledFuture a = someVariable.scheduleAtFixedRate(()->{some work},50L,250L,TimeUnit.SECONDS);
但这似乎不是正确的方法。
所以我的问题是如何做到这一点?
暂无答案!
目前还没有任何答案,快来回答吧!