Android 藍牙API詳解


隨着近兩年可穿戴式產品逐漸進入人們的生活,藍牙開發也成為了Android開發的一個重要模塊,下面我們就來說一說藍牙的這些API。

1.藍牙開發有兩個主要的API

BuletoothAdapter:本地藍牙的適配器,也就是說當前應用程序所運行的Android設備上的藍牙

BuletoothDevice  : 遠程的藍牙適配器,也就是說你要連接的Android設備的適配器。

2.藍牙權限 :

android.permission.BLUETOOTH : 允許程序連接到已配對的藍牙設備, 請求連接/接收連接/傳輸數據需要改權限, 主要用於對配對后進行操作;

android.permission.BLUETOOTH_ADMIN : 允許程序發現和配對藍牙設備, 該權限用來管理藍牙設備, 有了這個權限, 應用才能使用本機的藍牙設備, 主要用於對配對前的操作;

優先級 : BLUETOOTH權限是BLUETOOTH_ADMIN權限的前提, 如果沒有BLUETOOTH權限, 就不能使用BLUETOOTH_ADMIN權限;

3.藍牙狀態值:

藍牙關閉 : int STATE_OFF , 值為10, 藍牙模塊處於關閉狀態;

藍牙打開中 : int STATE_TURNING_ON , 值為11, 藍牙模塊正在打開;

藍牙開啟 : int STATE_ON , 值為12, 藍牙模塊處於開啟狀態;

藍牙開啟中 : int STATE_TURNING_OFF , 值為13, 藍牙模塊正在關閉;

4.藍牙相關的廣播:

開關狀態改變:

BluetoothAdapter.ACTION_STATE_CHANGE:

可以通過intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR)獲取當前藍牙改變的狀態。

搜索到附近可用設備:

BluetoothDevice.ACTION_FOUND:

可以通過intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 獲取當前搜索到的遠程設備。

 

配對請求:

BluetoothDevice.ACTION_PAIRING_REQUEST

 

配對狀態改變:

BluetoothDevice.ACTION_PAIRING_REQUEST:

5.常用方法:

打開/關閉 藍牙:

BluetoothAdapter mAdapter = BluetoothAdapter.getDefaultAdapter(); //獲取本地藍牙實例

if (!mAdapter.isEnabled()){

   mAdapter.enable();  //打開藍牙

}else{

   mAdapter.enable(); //關閉藍牙

}

設置藍牙可見性:

可見:adapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);

不可見:adapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);

設置可見性超時時間: adapter.setDiscoverableTimeout(BLUETOOTH_DSCOVERABLE_TIME);

 

開始 / 停止 掃描附近的設備:

mAdapter.startDiscovery();  //開始掃描

mAdapter.startDiscovery(); //停止掃描

 

獲取藍牙基本信息:

MAC地址:mAdapter.getAddress();

名稱:      mAdapter.getName();

 

與遠程設備配對:

  try {

        Method createBondMethod = BluetoothDevice.class.getMethod("createBond");
       createBondMethod.invoke(device);
  } catch (Exception e) {
        e.printStackTrace();
  }

 


免責聲明!

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



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