gpt4 book ai didi

安卓蓝牙: Get UUIDs of discovered devices

转载 作者:IT老高 更新时间:2023-10-28 23:05:48 27 4
gpt4 key购买 nike

由于我目前正在为 Android 开发一个小型蓝牙库,因此我正在尝试获取我在周围发现的设备的所有服务 uuid。

当我的广播接收器获得 BluetoothDevice.ACTION_FOUND Intent 时,我正在提取设备并调用:

device.fetchUuidsWithSdp();

这将为找到的每个设备生成 BluetoothDevice.ACTION_UUID Intent ,并且我正在使用相同的接收器处理它们:

BluetoothDevice d = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Parcelable[] uuidExtra = intent.getParcelableArrayExtra(BluetoothDevice.EXTRA_UUID);

if(uuidExtra == null) {
Log.e(TAG, "UUID = null");
}

if(d != null && uuidExtra != null)
Log.d(TAG, d.getName() + ": " + uuidExtra.toString());

问题是,uuidExtra 总是 null

如何获取周围设备的所有 UUID?

编辑:

我正在使用 Nexus 7。我尝试了在互联网上找到的代码,这也给了我一个 NullPointerException:http://digitalhacksblog.blogspot.de/2012/05/android-example-bluetooth-discover-and.html

谢谢。

最佳答案

documentation在这个状态...

Always contains the extra field BluetoothDevice.EXTRA_UUID

但是,就像你一样,我发现这不是真的。

如果您在设备发现仍在进行时调用 fetchUuidsWithSdp()BluetoothDevice.EXTRA_UUID 可以为 null。

您应该等到收到 BluetoothAdapter.ACTION_DISCOVERY_FINISHED 后再调用 fetchUuidsWithSdp()

关于安卓蓝牙: Get UUIDs of discovered devices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14812326/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com