BluetoothGatt API


punlic final class BluetoothGatt
繼承自Object , 實現了BluetoothProfile接口
/**

相關的藍牙協議可http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=2&CurRec=1&recid=&filename=1013177885.nh&dbname=CMFD201302&dbcode=CMFD&pr=&urlid=&yx=&uid=WEEvREcwSlJHSldTTGJhYlQ4RW9HZzBWckhnY3Z2bTR6VjJ5ZlJsL2FiMkRZcHNnazlOUEJud0pMeW9xLzlycnRqND0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4IQMovwHtwkF4VYPoHbKxJw!!&v=MjQzNTBkdUZ5emdVTHJLVkYyNkhiSy9HZG5FcXBFYlBJUjhlWDFMdXhZUzdEaDFUM3FUcldNMUZyQ1VSTCtmYis=
**/
簡述:
提供了BluetoothGATT Profile 的公共API
這個類提供了GATT功能(functionality ) 可以與Bluetooth Smart或者是Smart Ready 設備(devces)進行通信;
要想連接外設(peripheral  device) , 需要創建一個  
BluetoothGattCallback (PS 這個相當於回調函數) ; 
然后調用
BluetoothDevice類的connectGatt(Context, boolean, BluetoothGattCallback)才可以獲得該類的實例(instance) ; 具有GATT的設備是可以通過使用 藍牙設備搜索()或者 低功耗的藍牙(BLE)搜索到的;
PS : buletooth
ble 概念略有不同 ;

Bluetooth GATT
中的常量:(不全)
GATT_FAILURE : 標識一個失敗的GATT操作 這個值是 257 (0x00000101)
GATT_SUCCESS :一個成功的GATT操作 這個值是:0 (0x00000000) PS 符合 "非零即為真 執行成功"

常用函數:
void  close() : 關閉該GATT客戶端 ,當與GATT client無關的時候 , 盡可能早的調用這個方法
 boolean connect()  :
連接到遠程設備 , 這個方法用於 當連接斷開的時候 , 重新連接一個遠程的設備如果這個設備不再范圍內. 那么只要這個設備回到覆蓋的范圍中,就會觸發重新連接 PS :這個方法解決了實際生活中的很多問題呀

void disconnect() :
斷開建立的連接,或者是終止當前正在適配的連接進程,這個需要權限
discoverServices() :  搜索一個遠程設備的服務,以及characteristics descriptors  , 這是一個異步的操作, 一旦搜索服務完成 , 會觸發剛才的那個Callback函數的 回調方法:onServicesDiscovered(BluetoothGatt, int);
如果成功的搜索到服務的話 , 可以使用 
getServices()方法檢索
返回true 代表  

getConnectedDevices() 
已經不推薦 使用了 ,  Bluetoothmanager
getConnectedDevices(int) 方法替代
 -----------------------
與數據交互有關的方法:
 
 
 BluetoothGattService   getService(UUID uuid)
 
如果遠程設備支持
UUID的話, 會返回一個 BluetoothGattService對象 , 這個方法需要進行 搜索藍牙之后給出一個bluetoothDevice對象
如果存在有大量的相同的UUID標識的Service存在的話, 這里只會返回第一個service實例 

List<BluetoothGattService>  getServices() 
返回遠程設備提供的所有的服務(Service)   ,返回的結果即為提供的服務,如果是null

boolean   readCharacteristic(BluetoothGattCharacteristic characteristic)
觸發回調函數的事件   , 以為讀取遠程device指定的characteristic  ,
boolean  readDescriptor(BluetoothGattDescriptor descriptor)
讀取描述.....



===========================================================================================================
原文:
 http://wear.techbrood.com/reference/android/bluetooth/BluetoothGatt.html#readCharacteristic(android.bluetooth.BluetoothGattCharacteristic)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM