2
我有一個IntentService
連接到藍牙(阻塞部分),發送數據,並斷開連接。我修改了IntentService
來處理停止服務的特殊意圖。但是,似乎由於阻止連接到藍牙設備的代碼(無限期地或直到被用戶取消,如預期的那樣),所以在代碼的阻止部分不再被阻塞之前,不會調用覆蓋onStart或onStartCommand。OnHandleIntent中的代碼是否阻止IntentService接收其他意圖?
onHandleIntent中的代碼是否可以阻止其他意圖到達服務?
就我而言,應用程序只能在連接後發送數據。如果在onHandleIntent中有一個連接線程會被認爲是正常的做法,它會向Handler發送一條消息或一條不消息的消息?像這樣http://pastebin.com/9BuSPNv4 –
不,如果你使用的是IntentService,你不應該在那裏開始自己的線程。或者說,它聽起來像你真正想使用的是一個普通的Service,並使用你想要的任何東西(AsyncTask,HandlerThread,Executor等等)在那裏啓動你自己的工作線程, – arnorhs