我試圖掃描BLE裝置與掃描BLE裝置不能正常工作
mBluetoothAdapter.startLeScan(this);
(我知道它的新版本過時,但只是爲了看看它與我的電話[4.4],我使用它)。所以它開始掃描,然後繼續前進而不會發生錯誤,但是沒有檢測到設備。 OnLEScan事件也被觸發,但其中的設備參數爲空。我的LE設備就在那裏並且已連接。
在谷歌搜索,我發現這發生如果BluetoothAdapter沒有UUID。 如何設置UUID? OnLeScan何時調用/解僱?還有其他解決方案嗎?
我的回調代碼放在這裏
//BluetoothAdapte.LEScanCallBack on MainActivity
@Override
public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord){
Log.i(TAG, "New LE Device: " + device.getName() + "@" + rssi);
if(Device_Name.equals(device.getName())){
mDevices.put(device.hashCode(), device);
invalidateOptionsMenu();
}
}
非常感謝!似乎只是正確的答案,我得到的錯誤:方法查找失敗的選擇器「getBluetoothLeScanner」簽名「()Landroid /藍牙/樂/ BluetoothLeScanner;」 \t當我這樣做 - > mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner(); – Samra
我的java編譯器版本是1.7(如果重要) – Samra
您可能會收到此錯誤,因爲** BluetoothLeScanner **已添加到API 21(Android 5.0)中。所以,嘗試設置'minSdkVersion 21'。 –