public class BeaconManager extends java.lang.Object implements OnBeaconChangeListener
Modifier and Type | Class and Description |
---|---|
static interface |
BeaconManager.LogListener |
Constructor and Description |
---|
BeaconManager(Context context)
Basic constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addBeaconListener(com.bluvision.beeks.sdk.interfaces.BeaconListener listener)
This adds a BeaconListener to be notified when a new beacon is found
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingRangeToEqual(com.bluvision.beeks.sdk.constants.Range range)
This rule restricts to beacons that have a range strictly equal to the rule value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingRangeToGreaterThan(com.bluvision.beeks.sdk.constants.Range range)
This rule restricts to beacons that have a range strictly greater than the rule value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingRangeToLessThan(com.bluvision.beeks.sdk.constants.Range range)
This rule restricts to beacons that have a range strictly less than the rule value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingRssiToEqual(java.lang.Integer value)
This creates a rule to restrict scanning for RSSIs equal to a certain value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingRssiToGreaterThan(java.lang.Integer value)
This creates a rule to restrict scanning for RSSIs greater than a certain value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingRssiToLesserThan(java.lang.Integer value)
This creates a rule to restrict scanning for RSSIs lesser than a certain value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingTemperatureToEqual(java.lang.Float value)
This rule restricts to beacons that have a temperature equal to the rule value.
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingTemperatureToGreaterThan(java.lang.Float value)
This rule restricts to beacons that have a temperature strictly greater than the rule value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictingTemperatureToLessThan(java.lang.Float value)
This rule restricts to beacons that have a temperature strictly less than the rule value
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeEddystoneUid(java.lang.String uid)
This creates a rule to restrict Eddystone to a given Uid(s) - this is a case insensitive
check
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeIBeaconUuid(java.lang.String uuid)
This creates a rule to restrict IBeacon to certain UUID(s) - this is a case insensitive
check
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeIBeaconUuidAndRange(java.lang.String uuid,
com.bluvision.beeks.sdk.constants.Range range) |
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeIBeaconUuidWithMajor(java.lang.String uuid,
int major)
This creates a rule to restrict IBeacon to certain UUID(s) and major combination - this is a
case insensitive check
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeIBeaconUuidWithMajorAndMinor(java.lang.String uuid,
int major,
int minor)
This creates a rule to restrict IBeacon to certain UUID(s), major, and minor combination -
this is a case insensitive check
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeIBeaconUuidWithMajorAndMinorAndRange(java.lang.String uuid,
int major,
int minor,
com.bluvision.beeks.sdk.constants.Range range) |
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeIBeaconUuidWithMajorAndRange(java.lang.String uuid,
int major,
com.bluvision.beeks.sdk.constants.Range range) |
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeSID(java.lang.String sid)
This creates a rule to restrict SBeacon Ids to certain id(s) - this is a case insensitive
check
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleRestrictionToIncludeUrl(java.lang.String url)
This creates a rule to restrict Eddystone Urls to a certain value(s) - this is a case
insensitive check
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleToExcludeScanByType(com.bluvision.beeks.sdk.constants.BeaconType beaconType)
This adds an exclusion rule for scanning
|
com.bluvision.beeks.sdk.domainobjects.ScanRule |
addRuleToIncludeScanByType(com.bluvision.beeks.sdk.constants.BeaconType beaconType)
This adds an inclusion rule for scanning
|
java.util.concurrent.ConcurrentHashMap<com.bluvision.beeks.sdk.domainobjects.ScanRule.Category,java.util.concurrent.ConcurrentHashMap<java.lang.Object,java.lang.Object>> |
getAllCurrentRules() |
java.util.concurrent.ConcurrentHashMap<java.lang.String,Beacon> |
getFoundBeacons()
returns a ConcurrentHashMap of all found beacons at this point
|
java.util.List<Beacon> |
getFoundBeaconsList()
returns a List of currently found
Beacon
objects |
void |
onBeaconEnter(Beacon beacon)
onBeaconEnter is called when a beacon enters a field
|
void |
onBeaconExit(Beacon beacon)
onBeaconExit is called when a beacon is no longer visible
|
void |
onRangeChanged(Beacon beacon,
com.bluvision.beeks.sdk.constants.Range range)
onRangeChanged is called when the range changes for the beacon
|
void |
onRssiChanged(Beacon beacon,
int rssi)
onRssiChanged is called when a change in rssi is detected
|
void |
purgeRules() |
void |
removeAllBeaconListeners()
Removes all BeaconListeners from the manager
|
void |
removeBeacon(Beacon beacon) |
boolean |
removeBeaconListener(com.bluvision.beeks.sdk.interfaces.BeaconListener listener)
Removes the specified BeaconListener.
|
boolean |
removeRule(java.lang.Object rule)
This removes a specific rule
|
boolean |
removeRule(com.bluvision.beeks.sdk.domainobjects.ScanRule rule)
This removes a specific rule
|
void |
setLogListener(BeaconManager.LogListener logListener) |
void |
startScan()
This starts a new scan, if not bound to the service then it queues this method by adding it
to the hashmap
|
void |
startScanningWithCustomIntervals(long timeToScanFor,
long timeToBeStoppedFromScanningFor) |
void |
startSmartScanning() |
void |
stop() |
void |
stopScan()
Stops the scan for beacons
|
public BeaconManager(Context context)
context
- application context for the app using the SDKpublic void stop()
public java.util.concurrent.ConcurrentHashMap<com.bluvision.beeks.sdk.domainobjects.ScanRule.Category,java.util.concurrent.ConcurrentHashMap<java.lang.Object,java.lang.Object>> getAllCurrentRules()
public void purgeRules()
public boolean removeRule(java.lang.Object rule)
public boolean removeRule(com.bluvision.beeks.sdk.domainobjects.ScanRule rule)
public com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleToIncludeScanByType(com.bluvision.beeks.sdk.constants.BeaconType beaconType)
beaconType
- the BeaconType
to scan forpublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleToExcludeScanByType(com.bluvision.beeks.sdk.constants.BeaconType beaconType)
beaconType
- the BeaconType
to exclude when scanningpublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingRssiToLesserThan(java.lang.Integer value)
value
- the RSSI value to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingRssiToGreaterThan(java.lang.Integer value)
value
- the RSSI value to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingRssiToEqual(java.lang.Integer value)
value
- the RSSI value to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeUrl(java.lang.String url)
url
- the Url value to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeSID(java.lang.String sid)
sid
- the SBeacon Id to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeIBeaconUuid(java.lang.String uuid)
uuid
- the UUID value to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeIBeaconUuidAndRange(java.lang.String uuid, com.bluvision.beeks.sdk.constants.Range range)
public com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeIBeaconUuidWithMajor(java.lang.String uuid, int major)
uuid
- the UUID value to restrict tomajor
- the major value to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeIBeaconUuidWithMajorAndRange(java.lang.String uuid, int major, com.bluvision.beeks.sdk.constants.Range range)
public com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeIBeaconUuidWithMajorAndMinor(java.lang.String uuid, int major, int minor)
uuid
- the UUID value to restrict tomajor
- the major value to restrict tominor
- the minor value to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeIBeaconUuidWithMajorAndMinorAndRange(java.lang.String uuid, int major, int minor, com.bluvision.beeks.sdk.constants.Range range)
public com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictionToIncludeEddystoneUid(java.lang.String uid)
uid
- The Eddystone Uid to restrict topublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingTemperatureToLessThan(java.lang.Float value)
value
- Temperature to restrict bypublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingTemperatureToGreaterThan(java.lang.Float value)
value
- Temperature to restrict bypublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingTemperatureToEqual(java.lang.Float value)
value
- Temperature to restrict bypublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingRangeToGreaterThan(com.bluvision.beeks.sdk.constants.Range range)
range
- Range to restrict bypublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingRangeToLessThan(com.bluvision.beeks.sdk.constants.Range range)
range
- Range to restrict bypublic com.bluvision.beeks.sdk.domainobjects.ScanRule addRuleRestrictingRangeToEqual(com.bluvision.beeks.sdk.constants.Range range)
range
- Range to restrict bypublic void startScan()
public void startSmartScanning()
public void startScanningWithCustomIntervals(long timeToScanFor, long timeToBeStoppedFromScanningFor)
public void stopScan()
public void addBeaconListener(com.bluvision.beeks.sdk.interfaces.BeaconListener listener)
public boolean removeBeaconListener(com.bluvision.beeks.sdk.interfaces.BeaconListener listener)
public void removeAllBeaconListeners()
public java.util.concurrent.ConcurrentHashMap<java.lang.String,Beacon> getFoundBeacons()
public java.util.List<Beacon> getFoundBeaconsList()
Beacon
objectspublic void onRssiChanged(Beacon beacon, int rssi)
OnBeaconChangeListener
onRssiChanged
in interface OnBeaconChangeListener
beacon
- the Beacon that changedrssi
- the new rssi valuepublic void onRangeChanged(Beacon beacon, com.bluvision.beeks.sdk.constants.Range range)
OnBeaconChangeListener
onRangeChanged
in interface OnBeaconChangeListener
beacon
- the Beacon that was changedrange
- the new rangepublic void onBeaconExit(Beacon beacon)
OnBeaconChangeListener
onBeaconExit
in interface OnBeaconChangeListener
beacon
- the Beacon that is no longer visiblepublic void onBeaconEnter(Beacon beacon)
OnBeaconChangeListener
onBeaconEnter
in interface OnBeaconChangeListener
beacon
- the Beacon that entered a fieldpublic void removeBeacon(Beacon beacon)
public void setLogListener(BeaconManager.LogListener logListener)