2011-12-10 24 views
1

讓我快速介紹自己:超過30年的編程經驗,超過12年的Java,不到3周的Android。使用服務來保存長期存在的對象

我的問題是關於我的架構/設計。作爲Android新手,我想知道整個想法是否有意義。基本上,我想建立一個類似Telnet的終端。這樣的終端通常具有長期的TCP連接,如果每次顯示屏幕的活動消失或每當Android感覺到時都不會丟失。我的想法是使用保持連接打開幷包含當前telnet屏幕內容的服務。當(重新)創建活動時,它會啓動服務並檢索屏幕內容和連接(java.net.Socket)。它顯示內容並使用套接字進一步用戶交互。如果用戶故意斷開連接,那麼我只能停止服務。

爲了避免用戶忘記他的Telnet會話在後臺打開,我還會在服務運行時在通知區域放置一些東西。

謝謝!

回答

0

你應該看看Android: keeping a background service alive (preventing process death)

基本上你就可以開始你的服務這種方式,進行通知被顯示給用戶,這樣系統就不會殺了你的服務(正常情況下)。

因此,Android排序要求您向用戶顯示通知,如果您要保持運行狀態,並且如果您這樣做,那麼反過來它不會終止您的服務。

+0

感謝您的非常有用的答案。我特別關注startForeground()提示:它不僅有助於通知,還增加了我不會被殺害的機會。事實上,你對我的整個計劃沒有任何消極的看法,這種證實確實很有道理。順便說一句,有什麼方法可以在這裏「獎勵」答案嗎? – baftoid

+0

@baftoid對於你問的問題,你可以點擊左邊的複選標記(參見[這裏](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work))當您獲得足夠的代表時,您可以點擊您喜歡的問題或答案旁邊的向上箭頭 – Craigy