考慮用戶打開應用並直接進入的場景活動A。 OnCreate
方法創建在後臺運行的服務。將數據從後臺服務發送到當前在後臺的活動
this.StartService(new Intent(this, typeof(MyService)));
此服務獨立於活動運行,因此如果用戶關閉或銷燬應用程序,服務仍在運行。
在活性的我通過RegisterReceiver
註冊情侶接收器,所以當東西在我的後臺服務發生了,我通過發送廣播更新活性的。
我面臨的問題是當用戶從活動A到活動B。此時服務正在發送廣播,需要在活動A上更改某些內容,但由於它不在前臺,因此我不會通過接收方進行更新。因此,當用戶從活動返回活動A到活動B時,用戶會看到舊數據。服務以不規則的間隔進行這些更新。
什麼是正確的方式來更新在後臺,然後去前臺的活動?在活動中獲取服務參考或數據的適當方式是什麼?
據我瞭解,如果我使用綁定服務,它將在應用程序被殺時被銷燬。我不想那樣。所有教程僅顯示如何更新前景中的活動。
我只是開始瞭解android,所以也許我錯過了一些明顯的小細節。
只有在前臺解決問題 –
@Sandeepdhiman,你可以發送廣播到你的活動,但我該如何要求這些更新?服務以不規則的時間間隔在廣播中發送最新的數據 - 下一次更新可能在5分鐘後,所以我不希望用戶繼續傳輸數據,直到下次更新 –
你檢查了這個https://stackoverflow.com/questions/2282435/通知活動 - 從-A-廣播接收器,僅-IF-IT-是,在最前臺 –