2012-09-03 86 views
1

我有一個活動'A',它擴展了調用服務'B'的mapActivity和擴展服務的服務'B'。我正在使用服務'B'的經度和緯度。現在我需要在活動「A」中調用方法,並在位置更新後立即傳遞緯度和經度。在該方法中,我有代碼來顯示位置。在此先感謝..如何從Android中的服務調用一個活動的方法?

回答

1

你不能從服務讓你活動參考除非你設置了一個STATIC的引用 - 這是極不推薦的,並被認爲是內存泄漏問題的罪魁禍首。

相反,我建議你使用android的廣播機制,使用context.sendBroadcastBroadcastReceiver

2

如何從Android中的服務調用一個活動的方法?

你不知道。

或者:

  • 這不應該在首位一個Service(與活動內的所有邏輯),或
  • 使用LocalBroadcastManager從服務將消息發送到的活性,或
  • 使用Messenger從服務發送消息到活動中,或
  • 使用由createPendingResult()上的活動創造了一個PendingIntent從服務發送消息到activit y或
  • 使用ResultReceiver,或者奧托庫,或其他各種手段,從服務將消息發送到活動
相關問題