我一週前開始使用Android,並且有一個設計問題。給後臺線程兩個處理程序與不同的活動交談?
我有兩個活動A和B.我目前在活動A。在活動A我啓動一個線程來偵聽網絡消息。在收到開始在後臺線程通過網絡,我需要進入活動B。
問題:我可以簡單地從後臺線程調用startActivity(B.class)
嗎?
如果不是,我想我使用Handler
來自從活動A線程。
問題:我的後臺線程仍繼續執行一次活性的,創建它被破壞的人,只要我照顧,有沒有死引用?
最終我收到一個停止消息在後臺線程,再次,通過網絡。現在我需要回到活動A(或其他一些活動)。
問題:我應該在活動B創建一個新的處理程序實例來替換在後臺線程類的處理程序實例?我估計當我啓動它時,必須將線程對象傳遞給活動B。我想在切換處理程序實例時必須注意競爭條件。
所有這些似乎...複雜。有沒有更好的方法來實現這個目標?服務?尺蠖?所有這些都是新的,工具/設計選擇有點混亂。