Je suis en train d'analyser les périphériques BLE avecDispositif de balayage BLE ne fonctionne pas
mBluetoothAdapter.startLeScan(this);
(je sais que son obsolète pour les nouvelles versions, mais juste pour voir cela fonctionne avec mon téléphone [4.4], je l'utilise). Il commence donc à scanner et continue sans commettre d'erreur mais aucun périphérique n'est détecté. L'événement OnLEScan est également déclenché mais le paramètre de l'appareil est null. Mon appareil LE est là et connecté. En recherchant sur google, j'ai trouvé ceci se produit si l'adaptateur Bluetooth n'a pas d'UUID. Comment définir l'UUID? Quand OnLeScan est-il appelé/déclenché? N 'y a-t-il pas une autre solution?
Mon code de rappel va ici
//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();
}
}
Merci beaucoup! semble être la bonne réponse seulement que j'obtiens l'erreur: la recherche de méthode a échoué pour le sélecteur "getBluetoothLeScanner" avec la signature "() Landroid/bluetooth/le/BluetoothLeScanner;" \t lorsque je fais cela -> mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner(); – Samra
Ma version de compilateur java est 1.7 (si c'est important) – Samra
Vous pourriez obtenir cette erreur parce que ** BluetoothLeScanner ** a été ajouté dans API 21 (Android 5.0). Donc, essayez de définir 'minSdkVersion 21'. –