2016-11-18 102 views
0

可以使用intent將線程對象傳遞給新的活動進行一些處理,然後將線程返回到主活動?如何將線程對象傳遞給新的活動,並將其返回到

感謝您的幫助。

+0

Sort answer ... No.使用服務,更具體地說是使用工作線程或AsyncTask ..或RxJava的IntentService/BroadcastReceiver .. –

+0

嗨,我在android中很新,但在許多30年編程語言。 – hterrolle

+0

,我不知道如何使用stakoverflow :))。所以我爲錯誤的發佈道歉。當我說傳遞線程的意思是傳遞類的實例如何擴展線程。通過引用該活動可以傳遞這個類? – hterrolle

回答

0

它違背了Android Activity參數傳遞的概念。最好不要這樣做。使用Services或與ThreadAsyncTask創建獨立類並與其交互,但不要將線程對象傳遞給活動。

+1

值得注意的是,僅使用服務將意味着任務仍將在主UI線程上執行 - 「IntentService」會創建一個自動工作線程。 –

+0

閱讀文檔的時間。所以如果我在主要活動內部使用服務,並在內部使用其他活動,我可以向主要活動發送消息以優先執行我需要的方法。 – hterrolle

+0

實際上使用服務更像是在Unix下使用IPC嗎?如果我們認爲每一個新的活動都是一個過程? – hterrolle

0

取而代之,您可以爲處理創建一個偵聽器。處理完成後,您將響應發送給偵聽器(由您的主要活動實施)。您可以使用AsyncTask(onPostExecute)執行此操作(onPostExecute)

0

這是可能的。但這不是好的做法,也不是有效的。正如@Andriy Omelchenko提到的那樣,使用Thread(如果您知道如何管理線程以便自己與您的活動進行交互)或AsyncTask(這是專門爲與UI進行交互而設計的)。請參閱this鏈接以瞭解線程。

0

事實上,acticity只有在你需要傳遞數據而不是類參考?

所以最好的辦法是開始從兒童活動中獲取信息和行動,併爲主要活動中的每個活動製作一個類別。所以我可以做任何我想要的,我需要的。如果一切都可以在兒童活動中進行,那就很好。我們不能分享工作中的活動。它啓動和停止沒有進程通信netheir實例共享。

這是正確的嗎?

0

我想你可以刪除帖子,因爲我發現問題真的很嚴重。

我發現了一個非常簡單的解決方案來管理我想要做的事情,而無需通過活動傳遞線索。我其實根本沒有必要。

對不起。我還不熟悉android。

我使用接收器從其他活動接收意圖,非常簡單,在主要活動內部完成工作。

問候和對不起。

相關問題