我不是开发人员,但我对智能手机之间的连接选项感到好奇。 看起来BLE是Android和ios上唯一可用的技术,它可以在前台实现连接,但能够在后台扫描吗?
如果我带着手机放在口袋里,是否可以在intervalls中扫描其他设备的`uUID / mac地址并保存数据,而不会在一段时间后关闭进程?
应用必须在Android手机,ios设备之间工作, 和Android手机 - ios设备。
我不想要稳定的连接。我只是在谈论在后台收集UUID和mac地址。哪个更适合唯一识别设备。
提前致谢。
答案 0 :(得分:1)
支持BLE的iOS设备可以充当外围设备和/或核心角色。外围设备宣传其服务,中心发现它们(通过扫描)。您需要Android 5.0+才能支持外设模式。
一旦中央发现外围设备,中央可以从中获取广告详细信息,包括唯一的外围设备ID。这类似于MAC地址,但有些外围设备会随机生成这些ID。
通常,iOS或Android设备扮演核心角色,并且不会宣传任何内容。没有什么可以发现的。但是,您可以编写一个同时充当外围设备和中心的应用程序。
在iOS上,您的应用can perform both BLE roles in the background(您的应用不需要位于前台)。
您可能需要负责任地执行后台任务,因为广告和扫描都需要使用大量电源的无线电(耗尽电池电量)。
Android上当前的BLE堆栈存在许多问题(例如,因为它们共享无线电,所以同时使用WIFI和BLE)。 BLE API首次推出适用于Android的4.2。
iPhone 4s及更高版本的BLE首次在iOS 6中提供API。