我有一個關於在android上構建基於UDP的聊天客戶端的學校任務。現在,我的第一個想法是創建一個啓動服務的活動,並且該服務處理所有網絡和活動的所有輸入和輸出。但是有一個問題。Android上的UDP聊天
如果我嘗試啓動服務,以便startCommand函數啓動並調用socket.receive來開始接收網絡消息,那麼我無法綁定服務,因此我可以將活動的輸入傳遞給服務(input =用戶想要發送的消息)。它只是掛起,並引發ANR異常。如果我只綁定它(以便接收永遠不會被調用),它就像一個魅力。
也許我沒有接近這個問題的權利。或者它應該工作來綁定服務,這是一個阻止接收電話?
沒有看到代碼,很難診斷。我的第一個猜測是你在服務的線程(這是主UI線程)中運行你的網絡功能。這會阻止它,你會得到一個ANR。您應該始終在單獨的線程中運行網絡調用。 – 2012-02-24 02:32:28