我需要在Android中同步獲取服務。我確定它已經在運行,我只需要在我的適配器中訪問它。一旦服務可用,我應該只通過一個參考,還是我可以用context.getService(...)
來得到它?什麼是推薦的解決方案?有沒有辦法在Android中同步獲取服務?
2
A
回答
2
我相信你有一個適配器創建和銷燬的活動。因此,適配器的生命週期應該與您的活動的生命週期相匹配。結論是將服務的引用傳遞給創建的適配器,因爲它是綁定和解除綁定服務的活動。 :-)
0
你感興趣的是制定綁定服務的概念。看看本地服務示例例如Service
SDK頁面上:
http://developer.android.com/reference/android/app/Service.html
此示例演示如何綁定到創建這樣你可以得到一個常設參考,並使得它直接調用服務當你受束縛時。當您以這種方式綁定/解除綁定到服務時,您也不必擔心明確地調用開始和停止。只要至少有一個組件綁定到該服務,該服務就會運行。
希望有幫助!
相關問題
- 1. 有沒有辦法同步這個?
- 2. 有沒有辦法從服務器獲取WMI.Service?
- 3. 有沒有辦法測試Android服務中的公共方法?
- 4. 有沒有辦法從同步服務聯繫人ID中獲取地址簿聯繫人ID?
- 5. 有沒有辦法通過服務
- 6. 有沒有辦法在html表中同步列寬?
- 7. 有沒有辦法在Vagrant中同步子文件夾?
- 8. 有沒有辦法在JavaFX 1.2 ListView中同步滾動條?
- 9. 有沒有辦法在NAudio中同步播放WAV文件?
- 10. 有沒有辦法從表中獲取不同的PartionKeys
- 11. 有沒有辦法在sql服務器中編寫異步sql查詢
- 12. 有沒有辦法來獲取手機
- 13. 有沒有辦法加快SQLite獲取?
- 14. 有沒有辦法從同一臺服務器上運行的代碼獲取服務器指紋?
- 15. 有沒有辦法在AJAX-web服務中捕獲所有錯誤?
- 16. 有沒有辦法在ASP.NET中的web服務中使用System.Drawing?
- 17. 有沒有辦法在改造呼叫中獲得服務方法名稱?
- 18. 有沒有辦法測試android服務的方向變化?
- 19. 有沒有辦法查看Android Google服務源代碼?
- 20. Android Binder IPC addService:有沒有辦法再次刪除服務?
- 21. 有沒有辦法在spritekit中讀取/獲取fps swift
- 22. 有沒有辦法在c#中動態獲取方法名?
- 23. 有沒有辦法在PHP SDK中從Parse獲取所有類?
- 24. 有沒有辦法在NSUserDefaults中獲取所有值?
- 25. 有沒有辦法同步不同的Word文檔的部分?
- 26. 有沒有辦法同步等待在Javascript中完成遞歸異步函數?
- 27. 有沒有辦法在PHP/WordPress中託管Axis2服務?
- 28. 在java中,有沒有辦法檢查Windows服務的狀態?
- 29. 有沒有辦法在Access 97 VBA中使用Web服務?
- 30. 有沒有辦法在灰熊服務器中刪除標題?
但綁定到服務是異步的,所以這不是一個同步解決方案。 – Leo 2011-03-09 21:15:42
確實如此,但Binder界面是以請求的方式直接訪問服務對象的唯一途徑。在需要服務時不會執行綁定操作,而是以遵循活動或其他系統組件的生命週期的方式進行綁定操作。可能需要更多關於該問題的信息來提出更好的解決方案。 – Devunwired 2011-03-09 21:25:18
@Devunwired根據你需要訪問服務的時間/地點,這可能只是一個設計缺點。我真的想要訪問Activity.onResume()中的服務。然而,我已經嘗試在Application.onCreate()和Activity.onCreate()中調用bindService(),但Activity.onResume()運行時不會調用ServiceConnection.onServiceConnected()。看起來,生命週期事件以ServiceConnection.onServiceConnected()不會運行的方式緊接着排隊,直到Activity已經運行。如果你有任何想法,我想聽聽他們。 – spaaarky21 2013-12-01 08:37:37