0

J'essaie de développer un localisateur Beacon en utilisant le BluetoothLeScanner, mais le problème est que ScanCallBack n'est jamais appelé, pour être précis ni l'une ni l'autre des méthodes onScanResult, onScanFailed ni onBatchScanResults est appelé. J'ai un émetteur de balise situé près de chez moi qui est détecté par les applications de localisation de balises disponibles sur le Play Store. Je ne suis pas sûr si je manque quelque chose. Voici le code que j'utilise.Android BLE- ScanCallBack n'est jamais appelé BluetoothLeScanner.startScan()

D'abord, j'ajouté autorisations suivantes dans mon manifeste:

<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 

Code pour créer un objet de BluetoothLeScanner:

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
getApplicationContext().startActivity(enableBtIntent); 
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner(); 
mBluetoothLeScanner.startScan(mScanCallback); 

ScanCallBack:

protected ScanCallback mScanCallback = new ScanCallback() { 
@Override 
    public void onScanResult(int callbackType, ScanResult result) { 
    ScanRecord mScanRecord = result.getScanRecord(); 
    byte[] manufacturerData = mScanRecord.getManufacturerSpecificData(224); 
    int mRssi = result.getRssi(); 
} 

@Override 
public void onScanFailed(int errorCode){ 
    Toast.makeText(getApplicationContext(), "Failed", Toast.LENGTH_LONG); 
} 
}; 

J'ai aussi assuré qu'aucun des valeurs d'objet sont nulles, toutes sont parfaitement initialisées. En outre, testé sur plusieurs appareils avec API 24, je ne pense pas que ce soit aussi un problème. Appréciez votre aide.

Merci

Répondre

1

Après avoir fait une recherche tout à fait, j'ai découvert que la meilleure solution possible pour locator Beacon est d'utiliser le altbeaconbibliothèque. Divers tutoriels sur l'utilisation de la bibliothèque peuvent être trouvés en ligne. Je suggère que leur site officiel serait le meilleur pour la référence: https://altbeacon.github.io/android-beacon-library/samples.html Si quelqu'un est intéressé par mon code utilisé pour implémenter le localisateur de balise, s'il vous plaît commenter ci-dessous et je serais plus qu'heureux de le partager avec vous.