Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android蓝牙LE外设IP是静态的吗?_Android_Bluetooth_Bluetooth Lowenergy_Uuid_Android Bluetooth - Fatal编程技术网

Android蓝牙LE外设IP是静态的吗?

Android蓝牙LE外设IP是静态的吗?,android,bluetooth,bluetooth-lowenergy,uuid,android-bluetooth,Android,Bluetooth,Bluetooth Lowenergy,Uuid,Android Bluetooth,我正在将一个iPhone应用程序移植到Android,它使用Bluetooth LE。 在iPhone应用程序中,我扫描一个自定义蓝牙外围设备,并将其设备UUID号存储为字符串。这使我可以在以后再次连接设备时进行比较 BluetoothDevice.ACTION\u UUID可以用来读取安卓系统中的外设UUID,但我不确定在设备连接时如何使用它来获取UUID。有人能帮忙吗 另外,在调用getAddress()时,Android确实会给我一个外设的IP地址。我假设这个IP地址是首次发现外设时由An

我正在将一个iPhone应用程序移植到
Android
,它使用
Bluetooth LE
。 在iPhone应用程序中,我扫描一个自定义蓝牙外围设备,并将其设备UUID号存储为字符串。这使我可以在以后再次连接设备时进行比较

BluetoothDevice.ACTION\u UUID
可以用来读取安卓系统中的外设UUID,但我不确定在设备连接时如何使用它来获取UUID。有人能帮忙吗

另外,在调用
getAddress()
时,Android确实会给我一个外设的IP地址。我假设这个IP地址是首次发现外设时由Android设备随机创建的

这些IP是静态的吗?在我的应用程序未来发布时,我可以依靠它们来识别每个蓝牙外围设备吗? 或者它们会/可能会随着时间的推移而改变,如设备重新启动后等


谢谢

忘了UUID吧。为了在将来的连接中识别外设,您应该使用外设的蓝牙地址。类
BluetoothDevice
具有方法
getAddress()
,该方法准确返回该值


然后,在LeScanCallback中,再次检查此地址(字符串相等)。

您看过吗?这是广播UUID。我想从外设读取它。也许这可能会有帮助。谢谢,我已经遵循了这一点,但它没有显示如何获取外设UUID。在iOS上,这在连接后立即可用,无需首先读取所有GATT配置文件。我还想得到一个关于BT设备IP可靠性的答案。谢谢,谢谢。
getAddress()
返回的内容正是我在问题中提到的对不起。蓝牙外设没有这样的地址,它们有一个UUID,所以Android基本上将这个地址分配给外设。对于分配给它的设备上的外设,该地址是否始终相同?我知道iOS习惯于频繁更改外设的分配IP地址,但使用UUID总是一样的。Thanks@DarreniOS(也许还有Android)所做的就是每隔一段时间(我相信是15分钟)更改自己的地址,这显然是出于安全原因。但是外设的地址通常是静态的,所以不要期望它会改变。另外,
getAddress()
返回在广告包中传输的外围设备的静态地址。这不是电话分配的id。太好了。我只需要知道这些。因此,我可以存储地址,并在将来的连接中进行比较。非常感谢。