基于Android健康服務(wù)終端藍牙傳輸軟件的設(shè)計
mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
如果藍牙可用,則mBluetoothAdapter不為空,然后判斷藍牙是否打開,若未打開,則提示用戶打開藍牙。
到此,藍牙設(shè)備已經(jīng)打開。
在Android應(yīng)用程序開發(fā)中,若要建立兩個藍牙設(shè)備的連接,必須實現(xiàn)客戶端和服務(wù)器端代碼。一個用來開啟服務(wù)監(jiān)聽,一個發(fā)送連接請求。當(dāng)它們都擁有一個藍牙套接字在同一RFECOMM信道上時,說明它們之間已經(jīng)建立好連接。服務(wù)器端采用accept()方法來建立連接。由于accept()方法是一種阻塞調(diào)用,因此不應(yīng)該放在主Acitvity里,要新建一個線程來管理。
而客戶端則采用connect()方法來建立連接。同樣也是一種阻塞調(diào)用,同樣需要新建一個線程來管理。
當(dāng)設(shè)備連接上以后,每個設(shè)備都擁有各自的Bluetoothsocket。現(xiàn)在就可以實現(xiàn)設(shè)備之間數(shù)據(jù)共享了。同樣讀取和寫操作都是阻塞調(diào)用,需要建立一個專用的線程來管理。
評論