1

我已经实现了每 5 秒查询一次数据库的后台服务。如果查询没有返回结果,服务应该等待 5 秒并再次查询数据库。如果查询返回结果,它应该调用一个活动并将结果传递给它。

我从一个 AsyncTask 开始,它基本上读取 doInBackground() 中的数据库并返回结果,以便 onPostExecute() 调用活动。现在我在服务的 onStartCommand() 中调用 AsyncTask.execute() 。但这意味着该任务仅在服务启动时被调用一次。

我是否应该为我的任务使用 Looper/Handler,类似于此处解释的内容: How to run an async task for every x mins in android?

但是,如果我正确理解了该代码,该服务将需要在某个地方循环调用 startRepeatingTask,但我希望 doSomething() 本身可以每 x 分钟调用一次。

我是 Android 新手,如果问题非常基本,或者我只是不理解其他解决方案,我很抱歉,希望有人能解释一下这是否适用于我的情况!

谢谢!

4

0 回答 0