Wie kann die BootstrapRegion der AltBeacon-Bibliothek das iBeacon-Layout erkennen?

Ich verwende Referenz,http: //altbeacon.github.io/android-beacon-library/samples.htm. Ich habe auch @ verwendWie kann ich mithilfe der AltBeacon android-beacon-library feststellen, ob mehrere Beacons eine Region betreten oder verlassen?

Ich versuche, iBeacons im Hintergrund mit der Android-Beacon-Library von AltBeacon zu erkennen. Ich habe den folgenden Codeausschnitt aus meinem Projekt eingefügt. Bisher erkenne ich im Hintergrund keine Ibeacons ... jede Hilfe wird gebeten

Ich benutze den BeaconManager, um

setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));

Ich erhalte jedoch keinen Fehler und keine Beacon-Erkennung. Wenn die App im Debug-Modus auf dem Samsung Galaxy 4-Gerät ausgeführt wird, wird sie gestartet, erkennt jedoch keine aktiven Beacons. Meine Beacons sind Rad Beacons, die als iBeacons konfiguriert sind. Die Rad Beacon-App erkennt sie und auch meine andere AltBeacon-Bibliotheks-App, die im Vordergrund ausgeführt wird und meine iBeacons erkennt. Diese Apps laufen auf dem Samsung Galaxy 4.

Die App, die ich für die Erkennung von Hintergrundbaken eingerichtet habe, erkennt die iBeacons nicht.

Hier ist mein Code. Der Verweis auf Constants.java ist nur eine Datei mit Konstanten für meine App.

package com.myApp.BTleDemo;

import android.app.Application;
import android.content.Intent;
import android.util.Log;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Locale;



import org.altbeacon.beacon.startup.BootstrapNotifier;
import org.altbeacon.beacon.startup.RegionBootstrap;
import org.altbeacon.beacon.Region;
import org.altbeacon.beacon.BeaconConsumer;
import org.altbeacon.beacon.BeaconManager;
import org.altbeacon.beacon.BeaconParser;
import org.altbeacon.beacon.MonitorNotifier;
import org.altbeacon.beacon.RangeNotifier;
import org.altbeacon.beacon.Region;
import org.altbeacon.beacon.Identifier;




public class BackgroundMode extends Application implements BootstrapNotifier{
    private static final String TAG = ".BackgroundMode";
    private RegionBootstrap regionBootstrap;

    private BeaconManager beaconManager;
SharedPreferences prefs;
List<Region> regions;
    public void onCreate() {
        super.onCreate();
    Log.d(TAG, "App started up");


  beaconManager = BeaconManager.getInstanceForApplication(this);
  // Add AltBeacons Parser for iBeacon 
  beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));


    // wake up the app when any beacon is seen (you can specify specific id filers in the parameters below)

  Region region = new Region("com.myApp.BTleDemo.boostrapRegion", Identifier.parse(Constants.BT_UUID), 
  Identifier.fromInt(Constants.BT_MAJOR), Identifier.fromInt(Constants.BT_MINOR));

        regionBootstrap = new RegionBootstrap(this, region);


}


@Override
public void didDetermineStateForRegion(int arg0, Region arg1) {
    // Don't care
}

@Override
public void didEnterRegion(Region arg0) {
    Log.d(TAG, "Got a didEnterRegion call");

    // This call to disable will make it so the activity below only gets launched the first time a beacon is seen (until the next time the app is launched)
    // if you want the Activity to launch every single time beacons come into view, remove this call.  
    regionBootstrap.disable();
    Intent intent = new Intent(this, MainActivity.class);
    // IMPORTANT: in the AndroidManifest.xml definition of this activity, you must set android:launchMode="singleInstance" or you will get two instances
    // created when a user launches the activity manually and it gets launched from here.
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    this.startActivity(intent);
}

@Override
public void didExitRegion(Region arg0) {
    // Don't care
}  


/*
@Override
public void onBeaconServiceConnect() {
    beaconManager.setRangeNotifier(new RangeNotifier() {

    @Override 
    public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
        if (beacons.size() > 0) {
            Log.i(TAG, "The first beacon I see is about "+beacons.iterator().next().getDistance()+" meters away.");     
        }
    }
    });

    try {
        beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));
    } catch (RemoteException e) {   }
}
}
*/
}

Ich bekomme keine ibeacon-Erkennung. Es wird keine der erwarteten LogCat-Listen veröffentlicht. Fehlt mir ein Schritt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage