[英]How to detect when a connected BLE device change its name?
我正在使用低功耗蓝牙与电子卡交换数据。 在数据交换期间,卡有时可以将其设备名称更改为新的设备名称,我正在寻找一种检测此名称何时被修改的方法。
当我开始连接到设备时,我会存储该设备的名称和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名称而不是已记忆名称的方法?
我看到的唯一解决方案是进行新的蓝牙扫描,但这对我的过程来说太长了。
谢谢
如果未连接,则可以进行扫描并检查广告数据的名称(如果包含)。
如果已连接,则可以读取包含名称的GATT特性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.