經過一番研究,我只能這樣說:
摩托羅拉已經與Broadcom片面開發專有的API。它似乎是非常有限的,因爲它聲明只支持現有配置文件。檢查出來here。
三星未能提供任何有關其BLE API,,我可以驗證存在的信息,被稱爲samsung.bluetoothle。實際上,我反編譯了Google Play中使用SGSIII的BLE功能的一些應用程序,並發現了一些Android本地BT API中不存在的方法,並且它們的名稱清楚地表明它們與BLE相關。我已經嘗試通過java反射使用它們,並且正在研究開發庫的可能性。但到目前爲止,我運行的測試結果至少有shakey結果。三星開發者論壇上也有一個帖子,如果你有興趣,我會建議你做一些壓力here。
Google在這方面幾乎沒有發表言論。關於Galaxy Nexus中的這個問題,有一個thread,你應該出來,許多人抱怨。最接近谷歌的答案可以找到here。
[更新]
三星還修改了幾個Android的班,更especifically:
BluetoothAdapter
BluetoothDevice
[更新]
因爲我已經把這個問題擱置了一段時間,由於缺乏來自谷歌和三星都支持我會後我已經學會爲止:
BluetoothAdapter
新的方法:
public boolean android.bluetooth.BluetoothAdapter.leTestEnd()
public boolean android.bluetooth.BluetoothAdapter.setAvStreaming(boolean)
public boolean android.bluetooth.BluetoothAdapter.setScanLE(boolean)
public void android.bluetooth.BluetoothAdapter.setScoPathChange(int)
public boolean android.bluetooth.BluetoothAdapter.startLeDiscovery()
要使用它們做到以下幾點:
BluetoothAdapter ba = new BluetoothAdapter();
Method starteLeDiscoveryMethod = null;
starteLeDiscoveryMethod = ba.class.getMethod("startLeDiscovery");
starteLeDiscoveryMethod.invoke(ba);
注:此方法特別的作品有點像普通startDiscovery()
方法,但至少對我來說,它發現了5次BLE設備2。 和記得,這只是SGSIII。我還沒有開始提取BluetoothDevice
中的新方法,但是當我這樣做時,我會在這裏發佈它們。
三星發佈了[藍牙BLE SDK(測試版)](http://developer.samsung.com/ble)。看到這個問題http://stackoverflow.com/questions/11104708/bluetooth-4-0-smart-low-energy-on-samsung-galaxy-s3 – OneWorld 2013-05-02 10:00:08
這是一個關於谷歌員工在最新的IO https ://developers.google.com/events/io/sessions/326240948所有使用4.3和BLE硬件的設備都將具有官方的Android BLE API,在此視頻會議中演示。 – OneWorld 2013-06-25 12:11:55