簡體   English   中英

Android藍牙低能耗摩托羅拉API配對

[英]Android Bluetooth Low Energy Motorola API pairing

我正在使用Motorola隨RAZR提供的BT 4.0 API。 他們的一份文件中,它聲明在連接和使用他們的框架之前,先使用Android API進行配對。 按照他們的指示,我一直在與OS藍牙設置應用程序配對,但是它從未提示我輸入密鑰。 它會配對,但似乎沒有結合,這對我來說至關重要。

我的問題是,當他們說“使用Android API”時,是指僅使用OS藍牙實用程序事先進行配對(就像我一直在做的那樣),或者有某種方法可以在我的應用程序中使用代碼。 他們引用了“ createBond()”函數,據我所知,該函數不是可訪問的函數(至少並非沒有一些松散的庫或反射)。

我們將不勝感激任何建議,尤其是那些成功使用了API的人,只要他們能夠說明其過程。 我現在只是想澄清一下:)

勞埃德,

您是正確的,請按照發布的鏈接中的說明進行操作。

在編碼之外,當他們說使用標准的android API進行“非le”操作時,他們的意思是繼續進行ble設備配對,就像在android設置中的任何藍牙經典設備一樣->無線和網絡->藍牙- >掃描設備。

如果您使用的設備是摩托羅拉兼容設備,則該設備將配對但未連接。

現在,在代碼中,您可以通過以下相同方法來檢測此配對設備:

BluetoothAdapter.getDefaultAdapter().getBondedDevices()

要再次檢查您的Android Phone是否兼容LE,請運行以下代碼:

 public static boolean checkBLESupport() {
        boolean deviceSupportsLE;

    try {
        @SuppressWarnings({ "unused", "rawtypes" })
        Class object = Class.forName("android.server.BluetoothGattService");
        deviceSupportsLE = true; 
    } catch (Exception e) {
        deviceSupportsLE = false; 
    }

    return deviceSupportsLE;
}

並再次檢查在配對設備之間循環時,您配對的藍牙設備是否為LE。 使用此代碼檢查設備。

 if (device.getBluetoothClass() == null) {
    Log.i(TAG, "This device is BLE compatible");
        b = true;
} else {
    Log.i(TAG, "This device is not BLE");
        b = false;
}

現在,要建立從LE兼容電話到LE兼容藍牙設備的連接,請遵循發布的鏈接下的Gatt服務說明。 http://developer.motorola.com/docs/bluetooth-low-energy-api/

請注意,在此示例下,它正在連接藍牙低能耗心率監測器。

如果您不嘗試使用LE心率配置文件連接到心率監測器,則這里是另一個Motorola文檔的鏈接,該文檔詳細介紹了如何創建自己的LE Profile以與GATT框架一起使用。 http://developer.motorola.com/docs/bluetooth-low-energy-gatt-framework-api/

如果以上兩個文檔中的任何一點都不夠清晰,則說明Motorola使用這些文檔中的框架提供了示例android應用程序。

我猜摩托羅拉堆棧具有BLE支持。 但是我的感覺是,盡管它確實可以在某些傳感器上工作,但它並不與需要綁定的設備配對。 我嘗試了需要粘合的接近傳感器。 盡管設備是通過Razr發現的,但是甚至沒有使用S3,但它從未配對。

有一個有用的視頻在這里

比賽遲到了,但可以確認-

如果您的BLE外圍設備需要綁定,則必須先通過藍牙設置將Moto X和其他一些較舊的摩托羅拉設備配對,然后再通過Android GATT接口進行編程連接。

如果您通過createBond方法進行綁定,或者讀取了加密的特征,則盡管可能會建立表明綁定良好的DDMS日志,但通常會在60秒內斷開連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM