Android后台服务限制:服务中使用FileObserver还是使用Scheduler?

时间:2019-04-21 02:26:10

标签: android android-service scheduler android-workmanager fileobserver

我需要在后台实现fileObserver,因此,如果新文件到达观察到的目录,则必须触发通知。考虑到Oreo实现的后台限制,最简单的选择就是在前台服务中启动fileObserver(带有通知)并继续监听。但是,这会将我的应用程序保留在电池消耗列表中,我希望避免一直添加通知。 另一个解决方案是在workmanager中实现调度程序,但这需要我非常频繁地(每分钟甚至更少的时间)读取整个目录,以识别是否有新文件到达。这意味着我将避免使用fileObserver,但会每分钟不必要地消耗宝贵的资源。

我希望有人可以建议是否还有其他更有效的方法来实现fileObserver的功能,以保证该功能但至少将资源使用保持在最低水平。

1 个答案:

答案 0 :(得分:0)

您可以将WorkManager或JobScheduler与内容URI触发器一起使用。这是最好的方法。