【轉載】Android基礎——實現安卓藍牙2.0模塊的通信功能
阿新 • • 發佈:2018-09-06
效果 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模塊的通信功能