2013-10-28 31 views
8

问题定义: 我一直在Android上尝试使用蓝牙LE的BLE proximity profile。一些像新一代谷歌Nexus平板电脑一样的4.3 Android支持BLE的设备可以充当central设备。 我看了Bluetooth LE的Android官方文档,但他们似乎没有任何支持。他们是否有任何解决方法来实现我们自己的邻近配置文件?使用蓝牙LE“接近”配置文件检测接近度Android

问题该说说接近轮廓在Android,但没有帮助

任何帮助表示赞赏。谢谢。

+5

Proximity Profile定义了两个角色:接近度监视器和接近度报告器。接近报告者应为GATT服务器。 接近度监测器应该是GATT客户端。因此,只能扮演中心角色的Android设备可以是Proximity Monitor,但不是Proximity Reporter。 –

回答

1

不幸的是,android只能作为中央而不是外设。所以在这个时间点上定制分析是不可能的。您可以使用gatt提供的配置文件。

例如:温度监视器配置文件。相反,您可以在iPhone上制作自定义服务和特性,并将其作为信标工作。

此外,如果您正在使用Estimote和其他公司的硬件设备,则可以回复android设备的数据,即服务和特性具有诸如读取,写入和通知等属性。但是当你将iPhone制作为Beacon时,那么你将无法从Android设备获得价值。

1

为了详细说明shubhams's answer

不幸的是,没有办法让Android设备充当外设。他可以创建GATT服务器,服务和特性,但无法制作广告。 (https://stackoverflow.com/a/18020153/3061383

由于Android不(还)支持的广告没有任何其他BLE装置能够发起对Android设备的连接。截至目前,Android设备必须启动连接。

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开发者预览版,让您探索了许多新的功能和Android的下一个版本的功能,并提供你需要开始开发,并在新平台上测试的一切。这里有几个亮点开发商:

BLE外设模式 - Android设备现在可以在蓝牙低功耗(BLE)外围模式功能。应用程序可以使用此功能向附近的设备广播其存在 - 例如,您现在可以构建应用程序,让设备充当计步器或运行状况监视器,并将数据传输到另一个BLE设备。

更新二〇一四年十月一十六日:

它出来吧!结帐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。您可以通过BLE advertise mode not working票上的Android项目经理之一阅读comment。他说:

我们在Android 5.0 Lollipop中引入了BLE外设模式。 Nexus 6和Nexus 9是支持BLE外设模式的前两款量产Nexus器件。由于硬件芯片组的依赖性,较旧的Nexus设备(4/5/7)将无法访问Lollipop上的功能。

感谢Rob Anderson的通知。

+0

但据我所知,它只适用于Nexus 6和Nexus 9.我在我的Nexus 4(Android 5.0)上试过它,它不工作。 –

+0

AFAIK Nexus 4支持它。看到这里的设备列表:http://www.bluetooth.com/Pages/Bluetooth-Smart-Devices-List.aspx –

+0

对不起,但我正在谈论外设模式! Nexus 4不支持它!我写了下面的代码来测试它:https://github.com/hennroja/AndroidBLEPeripheralTest –