android 藍芽 通訊 bluetooth

2021-07-02 08:07:57 字數 2279 閱讀 3467

此例子基於 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代表了移動裝置的本地的藍芽介面卡,通過該藍芽介面卡可以對藍芽進行基本操作,例如 啟動裝置...