将上下文传递给JobService Android JobScheduler

时间:2017-07-17 13:46:40

标签: android android-service job-scheduling android-jobscheduler

我正在构建一个应用程序,我将url和Json存储在我的本地SQLite数据库中,然后安排JobService。

在JobService中,我逐个从db中取出所有请求并执行它们。一旦执行它们,我只在JobService中获得响应。现在我真正的问题是如何从服务中将响应发送回用户。

我想过在activity中实现一个回调/监听器,并在服务中的listener对象中传递值。但我正在从SQLite数据库中取出请求。所以我不知道如何在我的数据库中保存回调实例或上下文,以便我可以使用服务本身内的其余数据。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

一种方法是使用事件总线实现:LocalBroadcastManager,greenrobot的EventBus,一些基于Rx的总线,甚至是简单的MutableLiveData单例。让服务在总线上发布消息。让UI层在它们来来往往时从总线注册和取消注册。让UI层处理在总线上收到的消息,如果UI层没有接收消息,则让服务引发Notification

以下是使用以下示例实现: