我正在使用蓝牙低功耗与电子卡交换数据。在数据交换期间,卡有时可以将其设备名称更改为新设备名称,我正在查看修改此名称的方法。
我在开始时连接到设备时存储了此设备的名称和MAC地址,但似乎android没有看到设备名称发生了变化。实际上,当我尝试读取名称时,它会返回旧名称而不是新名称。
这个例子在与电子卡的每次数据交换时被调用,并且每次,它都会返回旧名称,即使在卡更改其名称后:
BluetoothManager bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
List<BluetoothDevice> devices = bluetoothManager.getConnectedDevices(BluetoothProfile.GATT);
for(BluetoothDevice device : devices) {
Log.i("BLE_device_name : ",device.getName());
}
有没有听众呢?或者强制Android获取真实BLE名称而非记忆名称的方法?
我看到的唯一解决方案是进行新的蓝牙扫描,但这对我的过程来说太长了。
谢谢
答案 0 :(得分:0)
如果您没有连接,您可以发出扫描并检查广告数据名称是什么(如果包含)。
如果已连接,则可以阅读包含名称的GATT特征。