国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Android BLE藍(lán)牙設(shè)備開發(fā)

2023-06-15 17:24 作者:翼618  | 我要投稿

?在Android中獲取BLE藍(lán)牙設(shè)備的UUID可以通過以下步驟:


1. 啟用藍(lán)牙并請求位置權(quán)限。這兩個權(quán)限是使用BLE需要的基本權(quán)限。


2. 掃描BLE設(shè)備。通過BluetoothLeScanner對象掃描周圍的BLE設(shè)備。掃描時設(shè)置ScanFilter來過濾設(shè)備的UUID和主機(jī)名稱等。


3. 在ScanCallback的onScanResult()方法中獲取掃描到設(shè)備的信息,包括其UUID。


4. 連接到設(shè)備后,可以通過BluetoothGatt對象獲取更詳細(xì)的UUID信息。


具體代碼實(shí)現(xiàn)如下:


```java

// 請求藍(lán)牙和位置權(quán)限??

requestPermissions();??


// 掃描BLE設(shè)備?

BluetoothLeScanner scanner = bluetoothAdapter.getBluetoothLeScanner();

ScanFilter filter = new ScanFilter.Builder().setDeviceName("my_device").build();

scanner.startScan(Arrays.asList(filter), scanCallback);


// onScanResult() 回調(diào)中獲取UUID??

private ScanCallback scanCallback = new ScanCallback() {

? ? @Override?

? ? public void onScanResult(int callbackType, ScanResult result) {

? ? ? ? Log.d("callbackType",callbackType+"");

? ? ? ? BluetoothDevice device = result.getDevice();

? ? ? ? String uuid = device.getUuids()[0].toString();?

? ? ? ? Log.d("uuid", uuid);

? ? }

};


// 連接設(shè)備后獲取更詳細(xì)的UUID??

BluetoothGatt gatt = device.connectGatt(context, false, gattCallback);


private BluetoothGattCallback gattCallback = new BluetoothGattCallback() {

? ?@Override

? ?public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {

? ? ? ?if (newState == BluetoothProfile.STATE_CONNECTED) {

? ? ? ? ? ?BluetoothGattService service = gatt.getService(UUID.fromString(uuid));

? ? ? ? ? ?if (service != null) {

? ? ? ? ? ? ? ?List<BluetoothGattCharacteristic> characteristics = service.getCharacteristics();

? ? ? ? ? ? ? ?for (BluetoothGattCharacteristic c : characteristics) {

? ? ? ? ? ? ? ? ? ?String charUuid = c.getUuid().toString();

? ? ? ? ? ? ? ? ? ?// 獲取characteristic的UUID

? ? ? ? ? ? ? ?}

? ? ? ? ? ?}

? ? ? ?}

? ?}

};?

```


所以,要獲取Android BLE設(shè)備的UUID,主要分為以下三個步驟:


1. 請求藍(lán)牙相關(guān)權(quán)限并開啟藍(lán)牙。

2. 掃描BLE設(shè)備,在回調(diào)中獲取掃描結(jié)果的device UUID。

3. 連接到設(shè)備后,通過BluetoothGatt對象獲取設(shè)備的service UUID和characteristic UUID。


只有當(dāng)設(shè)備連接后,我們才能獲取到最詳細(xì)的UUID信息。設(shè)備掃描只能得到一個比較寬泛的device UUID。所以,如果需要獲取精確的服務(wù)和特征的UUID,必須建立連接才可以。


UUID是識別BLE設(shè)備各服務(wù)和特征的唯一標(biāo)識,掌握在Android中獲取UUID的方法,是開發(fā)BLE相關(guān)應(yīng)用的基礎(chǔ)。


Android BLE藍(lán)牙設(shè)備開發(fā)的評論 (共 條)

分享到微博請遵守國家法律
中山市| 郸城县| 治县。| 博湖县| 灵台县| 百色市| 阿坝县| 桐乡市| 绥棱县| 大洼县| 郑州市| 城口县| 安溪县| 定西市| 揭东县| 武义县| 延庆县| 丘北县| 黄石市| 昔阳县| 崇州市| 镇远县| 马鞍山市| 龙口市| 古田县| 石狮市| 平果县| 称多县| 老河口市| 东方市| 静乐县| 江门市| 乌鲁木齐县| 吴忠市| 清丰县| 昂仁县| 交城县| 沈丘县| 金门县| 清原| 平和县|