此例子基於 android demo
android
的藍芽開發,雖然不多用,但有時還是會用到,
android
對於藍芽開發從
2.0版本的
sdk才開始支援,而且模擬器不支援,測試需要兩部手機;
由於公司用到了藍芽,所以學習了一下,也和大家分享一下!
總體來說和網路 socket 很相似,監聽,連線,成功後,傳送資料;
第一步:
先要在androidmanifest.xml裡加入許可權
看下api,
android
所有關於藍芽開發的類都在android.bluetooth包下,如下圖,只有8個類
1
、獲取本地藍芽介面卡
// get local bluetooth adapter
mbluetoothadapter = bluetoothadapter.getdefaultadapter();
if(mbluetoothadapter==null) //如果為空可能不存在藍芽,退出;
2
、開啟藍芽
if(!madapter.isenabled())
3,建立連線,伺服器端(bluetoothserversocket)和客戶端(bluetoothsocket)需指定同樣的uuid,才能建立連線,因為建立連線的方法會阻塞執行緒,所以伺服器端和客戶端都應啟動新執行緒連線
1
)伺服器端:
bluetoothserversocket serversocket = madapter. listenusingrfcommwithservicerecord(serversocketname,my_uuid_secure);
serversocket.accept();
2)客戶端:
//還記得我們剛才在broadcastreceiver獲取了bluetoothdevice麼?
bluetoothsocket cliensocket=dcvice. createrfcommsockettoservicerecord(uuid my_uuid_insecure);
cliensocket.connect();
4、資料傳遞,通過以上操作,就已經建立的bluetoothsocket連線了,資料傳遞無非是通過流的形式
1)獲取流
inputstream = socket.getinputstream();
outputstream = socket.getoutputstream();
2)寫出、讀入
// read from the inputstream
bytes = mminstream.read(buffer);
mmoutstream.write(buffer);
demo是包括客戶端和服務端;分別放到兩個手機上就可以通訊;大家改改應該就可以用;
Android藍芽通訊(三) 藍芽通訊的實現
在前兩篇部落格中大致介紹了藍芽相關的基礎知識,不了解的朋友可以檢視前兩篇部落格 android藍芽通訊 一 藍芽功能的相關許可權 android藍芽通訊 二 藍芽的相關操作 在本篇部落格中我將介紹如何實現兩個藍芽裝置之間的通訊,藍芽的通訊類似於socket的通訊,在藍芽通訊中沒有絕對的裝置充當ser...
android 藍芽 通訊 bluetooth
此例子基於 android demo android 的藍芽開發,雖然不多用,但有時還是會用到,android 對於藍芽開發從 2.0版本的 sdk才開始支援,而且模擬器不支援,測試需要兩部手機 由於公司用到了藍芽,所以學習了一下,也和大家分享一下!總體來說和網路 socket 很相似,監聽,連線,...
android 藍芽通訊(一)
android name android.permission.bluetooth admin android name android.permission.bluetooth bluetoothadapter代表了移動裝置的本地的藍芽介面卡,通過該藍芽介面卡可以對藍芽進行基本操作,例如 啟動裝置...