2011-06-13 53 views
4

我在寫一個voip應用程序。它是基於管理的VOIP邏輯和UI撥打電話,接聽服務等
什麼是更新從服務用戶界面的最佳方式:
從服務使用:runOnUiThread或AsyncTask或Handler或Post

  • runOnUiThread或
  • 的AsyncTask或
  • 處理程序或

當使用一個方法比其他?

我知道runOnUiThread是有問題的,因爲它可能會導致事件發生亂序(如果線程已經是UI線程)。

謝謝。

回答

2

據我記憶,你不能直接從服務更新屏幕。您必須使用廣播接收器來從服務中捕獲您的廣播。我猜AsyncTask本身使用runOnUiThread,但它提供了很好的方法在後臺線程中執行一個方法,並將結果放入UI線程。

0

你必須調用bindService()來綁定到服務。然後,您可以使用AsyncTask或Handler從服務中獲取信息。

更多閱讀:Android Developers