Ich versuche Beacons mit dem estimo sdk in Android zu sehen, aber ohne Glück! Ich kann alle beecons sehen, aber mit allen anderen Beacons funktioniert nicht (fobo beacons etc.) Ich benutze die UUID für die Fobo-Beacons innerhalb des Region-Konstruktors, und ich kann im Logcat sehen, dass das Bluetooth die Geräte sehen kann, aber die Schätzwerte von sdk es nicht als Beacon sammeln. Irgendwelche Ideen, warum das passiert? Ich poste den folgenden Code:Android Estimote sdk ist nicht in der Lage, andere Beacons als die geschätzten zu scannen
private static final String FOBO_PROXIMITY_UUID = "00158800-587d-2206-d52b-fb6d6e2f0001";
private static final Region FOBOBEACONS = new Region("rid", FOBO_PROXIMITY_UUID , null, null);
public void BeaconManager(){
beaconManager = new com.estimote.sdk.BeaconManager(this);
beaconManager.setBackgroundScanPeriod(5000, 30000);
beaconManager.setForegroundScanPeriod(7000, 5000);
beaconManager.setRangingListener(new com.estimote.sdk.BeaconManager.RangingListener() {
@Override
public void onBeaconsDiscovered(final Region arg0, final List<Beacon> arg1) {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
@Override
public void run() {
// Note that beacons reported here are already sorted by estimated
// distance between device and beacon.
int test=0;
if(arg1.size()<=0){
Toast.makeText(MainActivity.this, "No beacon found",
Toast.LENGTH_SHORT).show();
}else{
for (int i = 0; i < arg1.size(); i++) {
String beac=arg1.get(i).getProximityUUID();
Toast.makeText(MainActivity.this, "I found a beacon with UUID; "+beac,
Toast.LENGTH_SHORT).show();
}
}
// adapter.replaceWith(beacons);
}
});
}
});
connectToService();
}
private void connectToService() {
beaconManager.connect(new com.estimote.sdk.BeaconManager.ServiceReadyCallback() {
@Override
public void onServiceReady() {
try {
com.estimote.sdk.utils.L.enableDebugLogging(true);
beaconManager.startRanging(FOBOBEACONS);
} catch (RemoteException e) {
Toast.makeText(MainActivity.this, "Cannot start ranging, something terrible happened",
Toast.LENGTH_LONG).show();
}
}
});
}
Ich würde nicht unbedingt erwarten, dass das funktioniert. Warum übergeben Sie die ESTIMOTE_PROXIMITY_UUID an den Regionenkonstruktor? Wenn Sie nach Beacons mit einer nicht geschätzten UUID suchen, würde ich erwarten, dass Sie eine Region für die UUID erstellen müssen, die Sie sehen möchten. –
Entschuldigung, das war ein Fehler beim Schreiben des Codes, den ich korrigierte, aber das Problem ist nicht, dass ich in meinem Code den fobo uuid benutze und nicht funktioniert! Auch dieser Code funktioniert für die beacons von estimote, wenn ich die eue-Schätzung verwende oder wenn Ich benutze keine Uuid (dann gilt das für alle UUIDs)! – sfig
Sind Sie sicher, dass das FOBO UUID ist? Können Sie eine andere App verwenden, um den iBeacon erfolgreich zu erkennen? – davidgyoung