0

我正在構建一個應用程序,將URL和Json存儲在本地SQLite數據庫中,然後計劃JobService。將上下文傳遞給JobService Android JobScheduler

在JobService中,我從數據庫中逐個取出所有請求並執行它們。一旦它們被執行,我只在JobService中獲得響應。現在我真正的問題是如何從服務中將響應發回給用戶。

我想過在活動中實現一個回調/偵聽器,並將該值傳遞給服務中的偵聽器對象。但我正在從SQLite數據庫中取出請求。所以我不知道如何將回調實例或上下文保存在我的數據庫中,這樣我就可以將其與服務本身中的其餘數據進行比較。

任何想法?

+1

廣播接收器 – Selvin

+0

@Selvin但我不知道從哪個活動用戶會致電該服務。 –

回答

0

一種方法是使用事件總線實現:LocalBroadcastManager,greenrobot的EventBus,一些基於Rx的總線,或者甚至是一個簡單的單身人士。請在巴士上留言。讓你的用戶界面層在來來往往時從公交車上註冊並取消註冊。讓UI層處理總線上接收到的消息,並在UI層不接收消息時使服務啓動Notification

下面是使用示例實現:

+0

我正在構建一個sdk ..所以我不知道開發人員將從何處發送數據。我想用回調方法發送回覆hime響應 –

+0

@PrakharSrivastava:「所以我不知道開發人員將從哪裏發送數據的活動」 - 只要託管應用程序可以訪問事件總線,你不知道或不關心數據來自哪裏或去哪裏。這是事件總線的一個重點:鬆耦合通信。 – CommonsWare

+0

你能否看看最新的問題? https://stackoverflow.com/questions/45161720/unable-to-implement-callback-in-android?noredirect=1#comment77295408_45161720 –