2013-04-27 65 views
0

我想使用WifiDirect傳輸數據。活動中的Android WifiDirect開放式套接字連接

所以我連接了兩個設備,並在一臺設備上打開了SeverSocket。 當我想通過點擊一個活動中的按鈕(在那裏我打開一個帶有組所有者,服務器的IP的套接字)從其他設備連接到此ServerSocket時,我得到:「無法打開套接字連接」。

當我打開一個IntentService和執行的代碼,而不是出現在執行它的工作完美的活動buttenClicked方法的代碼。

爲什麼不可能在一個活動,打開插座,但在IntentService?

回答

1

的Android不允許您運行長..你按一下按鈕是在UI線程上運行的UI線程上運行的任務,而意圖服務於一個單獨的線程運行,因此可以的ServerSocket等到客戶端連接,但是, ui線程無法運行。

所以每當u有可能停止線很長一段時間的任務未來的應用程序使用或者intentservice或的AsyncTask或正常線程級的Java

的做它在不同的線程