您必須先讓應用程式透過藍牙或藍牙低功耗技術進行通訊,
。
請確認已啟用。請注意,只有在
<uses-feature.../>
資訊清單檔案項目中的 android:required
屬性為
已設為 false
。
如果不支援藍牙,請妥善停用所有藍牙功能 接著介紹網際網路通訊層 包括兩項主要的安全防護功能如果支援藍牙但已停用,您可以要求 使用者不需離開您的應用程式即可啟用藍牙。
第一步是 新增藍牙權限 新增到資訊清單檔案,即可使用下列 API。
取得權限後,系統會透過兩個步驟完成藍牙設定
使用 BluetoothAdapter
:
取得
BluetoothAdapter
。任何及所有藍牙活動都需要
BluetoothAdapter
。BluetoothAdapter
代表裝置專屬的藍牙轉接器 ( 藍牙無線電)。如要取得BluetoothAdapter
,首先需要Context
。請使用這個結構定義BluetoothManager
的例項 系統服務正在撥打BluetoothManager#getAdapter
即可獲得BluetoothAdapter
物件如果getAdapter()
傳回空值, 則裝置不支援藍牙例如:
Kotlin
val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java) val bluetoothAdapter: BluetoothAdapter? = bluetoothManager.getAdapter() if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
Java
BluetoothManager bluetoothManager = getSystemService(BluetoothManager.class); BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
啟用藍牙。
接下來,請務必確保藍牙已啟用。致電
isEnabled()
到 檢查藍牙目前是否已啟用。如果這個方法傳回 false, 就會停用藍牙如需要求啟用藍牙,請撥打startActivityForResult()
、 傳入ACTION_REQUEST_ENABLE
。 意圖動作這個通話會透過以下方式提出啟用藍牙的要求: 系統設定 (不會停止應用程式)。例如:
Kotlin
if (bluetoothAdapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT) }
Java
if (!bluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); }
系統會顯示對話方塊,要求使用者授予啟用藍牙權限,如下所示: 圖 1.如果使用者授予權限,藍牙就會開始啟用 處理完成後 (或失敗) 後,焦點就會回到應用程式
圖1. 啟用藍牙對話方塊。
傳遞至 REQUEST_ENABLE_BT
常數
startActivityForResult()
是本機定義的整數,必須大於或等於 0。系統
會將這些常數傳回給您
onActivityResult()
敬上
做為 requestCode
參數的實作。
如果啟用藍牙成功,您的活動就會收到
RESULT_OK
結果程式碼
onActivityResult()
回呼。如果因為發生錯誤而未啟用藍牙 (或
使用者回應「拒絕」),那麼結果代碼是
RESULT_CANCELED
。
或者,應用程式也可以監聽
ACTION_STATE_CHANGED
敬上
廣播意圖;只要藍牙狀態,系統就會廣播意圖
並輸入變更內容這則直播含有多餘欄位
EXTRA_STATE
和
EXTRA_PREVIOUS_STATE
,
分別包含新舊藍牙狀態可能的值包括
這些額外欄位
STATE_TURNING_ON
、
STATE_ON
,
STATE_TURNING_OFF
,
和 STATE_OFF
。
如果應用程式需要偵測執行階段,監聽此廣播訊息就能派上用場
對藍牙狀態所做的變更。
在裝置上啟用藍牙後,就能同時使用傳統藍牙和 藍牙低功耗。
針對藍牙低功耗裝置,你可以尋找 BLE 裝置、連線至 GATT 伺服器,以及 轉移 BLE 資料。