【问题标题】:Pass context to JobService Android JobScheduler将上下文传递给 JobService Android JobScheduler
【发布时间】:2017-07-17 13:46:39
【问题描述】:

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

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

我想在活动中实现回调/侦听器,并在服务内部的侦听器对象中传递值。但我从 SQLite 数据库中取出请求。所以我不知道如何将回调实例或上下文保存在我的数据库中,以便我使用服务本身中的其余数据来获取它。

有什么想法吗?

【问题讨论】:

  • 广播接收器
  • @Selvin 但我不知道用户将从哪个活动调用服务。

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


【解决方案1】:

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

以下是使用示例实现:

【讨论】:

  • 我正在构建一个 sdk.. 所以我不知道开发人员将从哪里发送数据。我想通过回调方法向他发送响应
  • @PrakharSrivastava:“所以我不知道开发人员将从哪里发送数据”——只要托管应用程序可以访问事件总线,你就不会知道或关心数据的来源或去向。这就是事件总线的重点:松散耦合的通信。
  • 你能看看更新的问题吗? stackoverflow.com/questions/45161720/…
猜你喜欢
  • 1970-01-01
  • 2018-02-09
  • 1970-01-01
  • 2020-06-25
  • 1970-01-01
  • 2018-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多