iBeacon(Kontakt Beacon)区域监控在android
Posted
技术标签:
【中文标题】iBeacon(Kontakt Beacon)区域监控在android【英文标题】:iBeacon(Kontakt Beacon) Region Monitoring In android 【发布时间】:2016-07-27 15:45:13 【问题描述】:我正在开发一个基于信标设备的应用程序。场景是当用户通过信标设备范围到达附近时,他会收到通知。
为此,我试图在蓝牙处于关闭状态时在后台监控该区域,但它不起作用,即我没有收到任何回调,即“onRegionEntered”或“onRegionAbandoned”。
所以问题是,当手机蓝牙关闭(场外位置(GPS)打开)时,这是否可以监控一个区域,如果是,那么如何,请提供任何示例或代码 sn-p。
由于我们有“Kontakt”iBeacon 设备,所以我使用的是 kontakt sdk。 Kontakt SDK
我正在使用此配置进行区域监控
private void configureProximityManager()
proximityManager.configuration()
.scanMode(ScanMode.BALANCED)
.activityCheckConfiguration(ActivityCheckConfiguration.MINIMAL)
.forceScanConfiguration(ForceScanConfiguration.MINIMAL)
//.deviceUpdateCallbackInterval(2000)
.rssiCalculator(RssiCalculators.newLimitedMeanRssiCalculator(5))
.monitoringEnabled(true)
.monitoringSyncInterval(3);
addReasonForMonitoring();
//GcmNetworkManager.getInstance(this).cancelTask();
private void addReasonForMonitoring()
beaconRegions.clear();
beaconRegions.add(getBeaconReason());
proximityManager.spaces().iBeaconRegions(beaconRegions);
private BeaconRegion getBeaconReason()
return new BeaconRegion.Builder()
.setIdentifier(FORKSPOT_REASON)
.setProximity(UUID.fromString(BEACON_UUID))
//.setMajor(restBeaconsInfo.getMajor())
//.setMinor(restBeaconsInfo.getMinor())
.build();
private void startMonitoring()
Log.e(TAG,"start monitoring");
int checkSelfPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION);
if ((PackageManager.PERMISSION_GRANTED == checkSelfPermission) /*&& Utils.getBluetoothState()*/)
proximityManager.connect(new OnServiceReadyListener()
@Override
public void onServiceReady()
Log.e(TAG, "startScanning");
proximityManager.startScanning();
);
else
Log.e(TAG, "Permission not guaranteed or bluetooth is off");
【问题讨论】:
【参考方案1】:如果蓝牙关闭,您将无法检测到蓝牙 LE 信标。这是一种操作系统限制,并不特定于任何一个信标 SDK。
虽然这看起来很明显,但这是一个公平的问题,因为即使 WiFi 已关闭,Google 也会在内部扫描 WiFi 网络以进行定位。但是,蓝牙并非如此。
【讨论】:
感谢@davidgyoung 的快速回复。以上是关于iBeacon(Kontakt Beacon)区域监控在android的主要内容,如果未能解决你的问题,请参考以下文章
(Kontakt.io) iBeacon didEnterRegion 没有被解雇
访问电池供电的 iBeacon 设备(主要是 kontakt io 设备)的电池电量?