![](/img/trans.png)
[英]How to get connect with closest bluetooth low energy device from android ?
[英]Get UUID of local low energy bluetooth device in Android
我正在尝试访问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();
}
}
};
有人能帮忙吗?
可以有多个UUID-代表该设备的BLE特性。
http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#getUuids()
您可以遍历UUID数组并获取所需的UUID。
如果您正在寻找单个设备的唯一标识符,则需要可以通过BluetoothDevice.getAddress()
获取的MAC地址。
蓝牙UUID(通用唯一标识符)被分配给蓝牙服务,特征,描述符等,以识别每个蓝牙属性。 它不像MAC地址,即每个设备都有一个ID。 因此,当您使用API(例如BluetoothGattObj.discoverServices()
发现其他连接的蓝牙设备的服务时,它会发现其他蓝牙设备支持的一组服务,特征,描述符等。
使用您提交的以上代码片段,将不会给您任何蓝牙UUID。
在Android-SDK中有一个示例蓝牙低功耗应用程序,当您通过Google的Android网站下载时,其相对路径可能是..\\adt-bundle-windows-x86-xxxx\\sdk\\samples\\android-xx\\connectivity\\BluetoothLeGatt
。 请参考相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.