[英]Android Bluetooth Low Energy - iBeacon
最近,我有一個iBeacon設備,旨在創建無法識別和使用它的Android應用。 我是Android應用程序中使用藍牙的新手,有很多事情我仍然不知道。 在Internet和這個論壇上,我發現了使用Radius Networks的Android IBeacon庫的建議,但是,現在,它不再可用:
https://github.com/RadiusNetworks/android-ibeacon-service
因此,我首先使用了Android開發者指南中有關低功耗藍牙的代碼: https : //developer.android.com/guide/topics/connectivity/bluetooth-le.html
使用此代碼,我什至可以檢測到設備,甚至可以連接到該設備,但是我不知道如何獲取Proximity Uuid以及Major和Minor值:該應用程序從設備的服務和特性中顯示了很多Uuid,但沒有一個是設備的接近Uuid。
任何人都可以告訴我如何使用Android Bluetooth LE API來獲取數據,或者幫助我獲取Radius Networks的Eclipse Android iBeacon庫以及使用它的指南或顯示如何使用它的示例?
謝謝。
編輯/更新:
它會變得更好.. AltBeacon !
檢查AltBeacon規格
AltBeacon為信標傳輸內容以及Android,Windows和其他設備如何使用該數據帶來更大的透明度。
為什么RadiusNetworks的Android iBeacon庫不再可用:
供應商已開始遵守Apple制定的准則,結果被迫“擦洗”其產品中的Android設備之間的任何引用或連接及其對iBeacon協議的檢測。
閱讀更多: Apple嚴厲打擊Android版iBeacon
我認為最好的選擇似乎是一直在使用它,已經擁有它並可以與您共享的人,因為從先前的提交中,您可能不會獲得每個組件-庫,示例,服務
另外: Android iBeacon Lib首席執行官RadiusNetworks的說明
現在,來接近UUID和主要 , 未成年人 :
我還沒有找到直接獲取參數的方法,盡管您可以使用iBeacon Technology來查看 android中的信標的主要,次要,uuid和SensorTag的 uuid 。 在后者中,有跡象表明iBeacon Service之后存在主要的,次要的uuid,但是TI儀器可能會受到限制。
在android中,作為標識符..您可以通過信標的device.getAddress()
為每個BluetoothDevice device;
恢復device address
BluetoothDevice device;
。
以下兩個是完全不同的東西,盡管兩者都稱為UUID。
您應該了解“ GATT服務的UUID”:
您應該了解“ iBeacon的鄰近UUID”:
因此,獲取iBeacon信息(鄰近UUID,主要,次要,電源)的操作如下。
如果使用nv-bluetooth ,則可以從廣告包中提取iBeacon,如下所示:
public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord)
{
// Parse the payload of the advertising packet.
List<ADStructure> structures =
ADPayloadParser.getInstance().parse(scanRecord);
// For each AD structure contained in the advertising packet.
for (ADStructure structure : structures)
{
if (structure instanceof IBeacon)
{
// iBeacon was found.
IBeacon iBeacon = (IBeacon)structure;
// Proximity UUID, major number, minor number and power.
UUID uuid = iBeacon.getUUID();
int major = iBeacon.getMajor();
int minor = iBeacon.getMinor();
int power = iBeacon.getPower();
........
有關詳細信息,請參見“ iBeacon作為一種AD結構 ”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.