问题定义:
我一直在尝试在Android上使用BLE proximity profile
用于蓝牙LE。一些设备,如新一代谷歌Nexus平板电脑,4.3 Android支持BLE,可以作为central
设备。
我阅读了Bluetooth LE的Android官方文档,但他们似乎没有任何支持。他们的任何解决方法是实施我们自己的接近配置文件吗
在Android上讨论邻近资料但没有帮助的问题
感谢任何帮助。感谢。
答案 0 :(得分:6)
2014年6月:
感谢大家的回答。为了更新,截至2014年6月,Android L Developer预览版中提供了BLE外设模式。因此,现在Android设备可以在外围和中心角色中发挥作用。希望在Android L
官方发布中看到它。引自他们的博客New in Android: L Developer Preview and Google Play Services 5.0:
L Developer Preview让您可以探索下一版Android的许多新功能,并提供开始在新平台上开发和测试所需的一切。以下是开发人员的一些亮点:
BLE外设模式 - Android设备现在可以在蓝牙低功耗(BLE)外设模式下运行。应用程序可以使用此功能将其状态广播到附近的设备 - 例如,您现在可以构建应用程序,让设备充当计步器或健康监视器,并将数据传输到另一个BLE设备。
2014年10月16日更新:
现在出来了!结帐Android 5.0 wireless changes页面。
2014年12月8日更新:
糟糕的新功能是BLE外设模式只适用于较新的Android设备(按照日期),即Nexus 6和Nexus 9.它不适用于Nexus 4 / Nexus 5 / nexus 7 / nexus 10即使您将其更新到Android 5.0。您可以通过comment票证上的某个Android项目经理阅读BLE advertise mode not working。他说:
我们在Android 5.0 Lollipop中引入了BLE外设模式。 Nexus 6和Nexus 9是首批支持BLE外设模式的两款Nexus设备。由于硬件芯片组的依赖性,较旧的Nexus设备(4/5/7)将无法访问Lollipop上的功能。
感谢Rob Anderson通知。
答案 1 :(得分:1)
不幸的是,android只能作为中心而不是外围设备。因此,此时无法进行自定义分析。相反,您可以使用gatt提供的配置文件。
例如:温度监控器配置文件。相反,您可以在iPhone上制作自定义服务和特性,并使其作为信标工作。
此外,如果您使用Estimote和其他公司的硬件设备,您可以回复来自Android设备的数据,即服务和特征具有读取,写入和通知等属性。但是当你将iPhone作为Beacon制作时,你将无法从Android设备接收到该值。
答案 2 :(得分:1)
详细说明shubhams's answer:
不幸的是,Android设备无法充当外围设备。他可以创建GATT服务器,服务和特征,但没有办法制作广告。 (https://stackoverflow.com/a/18020153/3061383)
由于Android尚未支持广告,因此其他任何BLE设备都无法启动与Android设备的连接。截至目前,Android设备必须启动连接。