這是從這個帖子 How to use GreenRobot's EventBus in broadcasting events from Service to Activity?使用GreenRobot的EventBus從Service到Activity替換廣播發送和接收事件狀態是否好?
我的使用情況下,圍繞着服務和活動的後續行動。
服務用於跟蹤BLE連接中的更改。
活動用於向UI報告連接狀態。
現有方案。服務是利用廣播發送的事件(通過sendBroadcast()方法)的每個狀態各地BLE 旋轉(連接/斷開,有數據,等..)
我的疑問:我可以利用這個GreenRobot的EventBus圖書館以與廣播相同的方式來控制(發送和接收事件)?如果是這樣,有什麼我應該考慮(關於線程安全)或必須知道,而完全替換廣播控制(發送和接收)範例。
「有一點需要注意(至少與Otto一樣),它默認設置爲只允許在主線程上發佈/訂閱,而當您使用服務時,您必須對其進行編輯。」 >>編輯Kasper? –
由於您使用的服務在另一個線程中運行,因此您必須將Otto設置爲允許從所有線程(而不僅僅是主線程)發佈和訂閱,否則它將無法工作。在他們的github頁面上有一個完整的指南。 – Moonbloom