2013-10-28 34 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 –