要获取设备的显示名称,可以通过BLE广告中的Local Name字段来实现。下面是一个使用Android BLE API获取设备显示名称的代码示例:
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
public class BLEScanner {
private BluetoothAdapter bluetoothAdapter;
public BLEScanner() {
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
}
public void startScanning() {
bluetoothAdapter.startLeScan(leScanCallback);
}
public void stopScanning() {
bluetoothAdapter.stopLeScan(leScanCallback);
}
private BluetoothAdapter.LeScanCallback leScanCallback = new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
String deviceName = device.getName();
// TODO: 处理设备显示名称
}
};
}
上面的代码创建了一个BLEScanner类,它使用BluetoothAdapter类来进行BLE扫描。在startScanning方法中,调用bluetoothAdapter.startLeScan方法开始扫描BLE设备。在stopScanning方法中,调用bluetoothAdapter.stopLeScan方法停止扫描。
在LeScanCallback的回调方法中,可以通过BluetoothDevice对象的getName方法获取设备的显示名称。你可以根据需要进一步处理设备的显示名称。
请注意,此代码示例仅适用于Android平台。对于其他平台,如iOS或Windows,可能需要使用不同的API来实现相同的功能。
下一篇:BLE广告标志不可连接