Can anyone help me with estimote beacons sample android code to start with? -


hello started estimote beacons , trying build sample application finding beacons range , send notifications mobile devices when beacons near range.

this how set beacons. first want service class:

public class beaconservicing extends service {  private static context context; private static final region all_beacons = new region(beaconconfig.global_region_id, beaconconfig.uuid, beaconutils.all_major, beaconutils.all_minor); private static beaconmanager beaconmanager;  public static beaconmanager getbeaconmanager() {     if (beaconmanager == null) {         beaconmanager = new beaconmanager(context);     }     return sbeaconmanager; }  @override public void oncreate() {     super.oncreate();     context = this;     startbeaconing(); }  @override public ibinder onbind(intent intent) {     return null; }  private void startbeaconing() {     if (beaconutils.iscapable()) {         beaconmanager = getbeaconmanager();         beaconmanager.seterrorlistener(new beaconerror());         beaconmanager.setmonitoringlistener(new beaconmonitoring());         beaconmanager.setranginglistener(new beaconranging());         beaconmanager.setbackgroundscanperiod(beaconconfig.background_scan_period, beaconconfig.background_wait_period);         beaconmanager.setforegroundscanperiod(beaconconfig.foreground_scan_period, beaconconfig.foreground_wait_period);         beaconmanager.connect(new beaconmanager.servicereadycallback() {             @override             public void onserviceready() {                 beaconmanager.startmonitoring(all_beacons);             }         });     } } } 

that call start beacon service. here want monitoring class:

public class beaconmonitoring implements beaconmanager.monitoringlistener {  private static final string tag = beaconmonitoring.class.getsimplename();  @override public void onenteredregion(region region, list<beacon> beacons) {     log.d(tag, "entering region: " + region.getidentifier());     beaconservicing.getbeaconmanager().startranging(region);     // send notification have entered range of beacon }  @override public void onexitedregion(region region) {     log.d(tag, "exiting region: " + region.getidentifier());     beaconservicing.getbeaconmanager().stopranging(region); } } 

that monitor when enter , exit region. methods can whatever need do. of other classes implement appropriate listener , override methods, this:

public class beaconranging implements beaconmanager.ranginglistener {  @override public void onbeaconsdiscovered(region region, list<beacon> beacons) { } } 

then beacon config classes contains scan periods , ids need:

public class beaconconfig {  public static final long foreground_scan_period = 1000; public static final long foreground_wait_period = 0;  public static final long background_scan_period = 5000; public static final long background_wait_period = 5000;  public static final string global_region_id = app.getcontext().getpackagename(); public static final string uuid = "your uuid"; } 

then start it, do:

startservice(new intent(this, beaconservicing.class)); 

and ready go. should enough @ least start in right direction.


Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -