1. 程式人生 > >【轉載】Android基礎——實現安卓藍牙2.0模塊的通信功能

【轉載】Android基礎——實現安卓藍牙2.0模塊的通信功能

效果 and str action dem 就是 fonts 根據 一個

實現安卓藍牙2.0模塊的通信功能

事先說明:

安卓藍牙2.0的開發和BLE4.0的開發完全是不一樣的,不過很多設備都采用雙模藍牙,所以掌握2.0也是很有必要的

安卓藍牙需要手動申請定位權限,可參考我的博客點擊打開鏈接

藍牙連接過程:

1、查詢用戶是否開啟藍牙。

2、搜索附近的可用的藍牙。

3、進行藍牙配對。

4、進行藍牙連接。

5、獲取輸入流和輸出流。

6、發送消息。

藍牙開發思路:

藍牙從連接到通信整個過程都是通過接收和發送廣播進行的,下面是藍牙進行特定操作時發出來的廣播圖,曬上我自己畫的美圖

技術分享圖片

藍牙廣播內容:

ACTION_STATE_CHANGED   當你藍牙開啟或者關閉的時候發送

ACTION_FOUND  當你匹配到附近藍牙設備時發送

ACTION_DISCOVERY_STARTED  當你開始搜索附近藍牙設備時發送
ACTION_DISCOVERY_FINISHED  當你結束搜索附近藍牙設備時發送
ACTION_BOND_STATE_CHANGED  當你藍牙設備匹配狀態發生變化時發送


實現需要的權限:

由於安卓4.x以上的版本使用藍牙,需要開啟定位權限才能搜索到附近的藍牙設備


這裏使用倆手機,實現藍牙之間的通信,下面是Demo的效果圖

技術分享圖片

(一)服務端

實現思路:

1、拿到本地藍牙設備。

2、藍牙之間的通訊需要一個唯一識別UUID來匹配正確的設備,使用UUID獲取藍牙的通訊Socket。

3、開啟獲取數據的線程


(二)客戶端

實現思路:

1、檢查是否開啟藍牙。

2、註冊一系列藍牙的廣播。

3、由於藍牙每經過一個階段都會發送一個廣播,根據廣播來實現對應的方法。

4、藍牙配對->藍牙連接->發送消息(UUID必須相同)奧斯卡

其實客戶端的操作就是上面那張思路圖,根據裏面的步驟進行就可以完成

① 檢查藍牙


② 註冊廣播


③ 搜索附近設備


④ 獲取搜索到設備的通知


⑤ 進行連接


⑥ 讀取數據


⑦ 發送數據


藍牙2.0比較簡單,大家可以通過源碼進行理解
源碼下載:工具是Android Studio2.1 (建議使用Import Project導入)

【轉載】Android基礎——實現安卓藍牙2.0模塊的通信功能