当前位置: 首页 > 知识库问答 >
问题:

在Android中获取本地低能耗蓝牙设备的UUID

谭绍晖
2023-03-14

我试图访问Android中低能蓝牙设备的UUID,最终将字符串发布到web API。

以下是我的代码,可以很好地为本地名称和mac地址敬酒:

private final BroadcastReceiver ActionFoundReceiver = new BroadcastReceiver(){

    @Override
    public void onReceive(Context context, Intent intent) {

        String action = intent.getAction();

        if(BluetoothDevice.ACTION_FOUND.equals(action)) {

            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

            String sMac     = device.getAddress();
            String sName    = device.getName();
            String sUUID    = ""; //HELP!

            Toast toast = Toast.makeText(getApplicationContext(), "Mac: " + sMac + " - Name: " + sName + " - UUID: " + sUUID, Toast.LENGTH_SHORT);
            toast.show();

        }

    }

};

有人能帮忙吗?

共有2个答案

岳景明
2023-03-14

蓝牙UUID(通用唯一标识符)被分配给蓝牙服务、特征、描述符等,以识别每个蓝牙属性。它不像MAC地址,即每个设备都有一个ID。因此,当您使用API(如BluetoothGattObj)查找其他已连接蓝牙设备的服务时。discoverServices(),它可以发现其他蓝牙设备支持的一组服务、特征、描述符等。

使用上述由您提交的代码片段不会给您任何蓝牙UUID。

Android SDK中提供了一个示例蓝牙低能应用程序,当您通过谷歌的Android网站下载时,其相对路径可能是。。\adt-bundle-windows-x86-xxxx\sdk\samples\android xx\connectivity\BluetoothLeGatt。请参考同样的内容。

姜钧
2023-03-14

可以有多个UUID-代表该设备的BLE特性。

http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#getUuids()

您可以迭代UUID数组,并获取所需的UUID。

如果您正在为单个设备寻找唯一标识符,那么您需要通过BluetoothDevice.get地址()获得的MAC地址

 类似资料:
  • 是否可以自动连接到蓝牙低能耗(BLE)设备? Android文档表明[](https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#connectGatt(android.content.Context,boolean,android.bluetooth.BluetoothGattCallback)

  • 我目前正在开发一个基于蓝牙低能耗设备的iOS应用程序。为了得到一个唯一的标识符来比较得到的外设,我必须得到外设的MAC地址。 据观察,外围设备的UUID属性在iOS设备中不同,而且外围设备要获得UUID,必须至少连接到主设备一次。因为我必须处理登机手续,所以我不想建立连接。当我通过bluetooth services portal时,我发现设备信息本身就是一项服务,除非主iOS设备和外围bluet

  • 最近,我买了一台iBeacon设备,打算创建Android应用程序,以便识别和使用它。我是一个在Android应用程序中使用蓝牙的新手,有很多事情我还不知道。在互联网和本论坛中,我找到了使用Radius Networks的Android IBeacon库的建议,但是,唉,现在它不再可用了: https://github.com/RadiusNetworks/android-ibeacon-serv

  • 有人知道如何添加蓝牙低能耗作为设备要求,只允许iOS应用程序在蓝牙LE设备上可用吗?谢啦

  • ap.connectBLEDevice(OPTION | deviceId, CALLBACK) 连接低功耗蓝牙设备。可直接传入一个字符串作为 OPTION.deviceId。 OPTION 参数说明 名称 类型 必填 描述 deviceId String 是 蓝牙设备 id 错误码说明 error 描述 12 链接失败 代码示例 <script src="https://gw.alipayobj

  • 我的应用程序应连接到蓝牙LE设备。通常使用mBluetoothAdapter执行设备扫描。Stratescan(mLeScanCallback) 。回调为您提供有关可用设备的信息。 如果要连接到专用设备,请执行以下操作 然后 在我看来,连接到BLE设备的唯一需要是知道BLE地址,然后通过以上两个步骤连接到它。因此,如果我已经知道一个BLE地址(例如,它写在BLE设备的标签上),我就不需要执行BLE