我正在尝试为Android开发BLE应用程序。有什么方法可以检测和读取Android设备上的Beacon的UDID、Major、Minor?我已经阅读了RadiusNetworksandroid-ibeacon-service,但我不明白为什么:major=(256*(0xFF¶mArrayOfByte[(i+20)])+(0xFF¶mArrayOfByte[(i+21)]));paramArrayOfByte是LeScanCallbackbyte[]scanRecord 最佳答案 当您从BluetoothAdapt
首先我要说的是,这是我第一次使用信标。我正在使用图书馆AltBeacon目前我有几项工作,例如,当我进入一个区域或当我离开它时..也可以正确地获得到信标的距离。这非常有效。我也得到了UUID,主要的和次要的..但不知道我做的是否正确。这是我的代码:publicclassHelloextendsActivityimplementsBeaconConsumer{protectedstaticfinalStringTAG="readme";privateBeaconManagerbeaconManager;@OverrideprotectedvoidonCreate(Bundlesave
我正在使用AndroidBeaconLibrary使用example进行BLE扫描.它在前台可以很好地进行监控和测距。但是,对于后台,它仅适用于在应用程序中按“Home”并关闭屏幕的情况。当我从任务切换器中终止应用程序时,它不起作用。在示例中,我找不到任何类似Service的东西来让事情在后台运行。问题:如果应用在任务切换器中被杀死,AndroidBeacon库是否支持后台扫描?如果是这样,该怎么做?有什么例子吗? 最佳答案 我使用androidiBeaon库进行后台扫描,我创建了一个服务,并在服务中定义了监控和测距。当应用程序被破
我正在测试一种新型的信标,这是我从调试中得到的结果:onScanResult()-ScanResult{mDevice=20:73:2A:09:3E:41,mScanRecord=ScanRecord[mAdvertiseFlags=26,mServiceUuids=null,mManufacturerSpecificData={76=[2,21,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,0,5,0,10,-40]},mServiceData={},mTxPowerLevel=-2147483648,mDeviceName=null
我试图阻止Android信标库的调试,但它不起作用。我的gradle中有这个:compile'org.altbeacon:android-beacon-library:2.3.3'我试过:publicBeaconManager(Contextctx,org.altbeacon.beacon.BeaconManagerbeaconManager){mContext=ctx;this.beaconManager=beaconManager;//thisissayingdeprecatedthis.beaconManager.setDebug(false);//Ialsotriedthisa
我调用我的蓝牙适配器mBluetoothAdapter.startDiscovery();,然后返回一个BluetoothDevices列表。当我按下其中一个设备时,我会这样做:mBluetoothGatt=bluetoothDevice.connectGatt(MainActivity.this,false,mGattCallback);我的回调在哪里:privatefinalBluetoothGattCallbackmGattCallback=newBluetoothGattCallback(){@OverridepublicvoidonConnectionStateChange(
我正在开发一个使用信标的应用程序。我已经完成了相关的EstimoteSDK。现在问题是我需要知道特定Beacon的唯一ID。假设我有3个信标,并且都在设备范围内。现在我想根据信标的唯一ID执行不同的功能。为此,我需要知道每个Beacon的唯一ID。目前我正在为Beacon提供UUID,只是检查它是否在设备区域。我的代码如下:-privatestaticfinalStringESTIMOTE_PROXIMITY_UUID="XYZ";privatestaticfinalRegionALL_ESTIMOTE_BEACONS=newRegion("regionId",ESTIMOTE_PRO
我正在使用iBeacons并使用AltBeacon库。beaconManager.getBeaconParsers().add(newBeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));我希望我的Android应用程序能够在信标进入和退出可见性时检测并生成一个事件。这对于使用方法库的单个信标来说工作得很好。publicvoid**didEnterRegion**(Regionregion)和publicvoid**didExitRegion**(Regionregion)我的问题是多个
我正在尝试使用以下BeaconLayout检测KontaktBeacon:setBeaconLayout("m:8-9=0215,i:10-13,i:14-15,i:16-17,i:18-25"));但我似乎没有做对。广告包结构是这样的:提前致谢。 最佳答案 感谢@davidgyoung的评论,我终于可以使用以下代码检测到我的Kontakt信标:publicclassMainActivityextendsActivityimplementsBeaconConsumer{protectedstaticfinalStringTAG="R
我已经实现了带有本地通知的Beacon。当蓝牙处于开启状态然后设备进入信标范围并且应用程序处于“未运行”状态时,一切正常。但是,当设备已经在Beacon范围内并且蓝牙打开时,不会调用任何委托(delegate)。这是限制还是我遗漏了什么? 最佳答案 这是CoreLocation框架的一个限制。当应用程序终止“未运行”状态时,它可以由于位置管理器区域didEnter/didExit区域事件而重新启动。如果您在应用程序终止时打开和关闭蓝牙,您的位置管理器将不会收到区域进入/退出事件。您能够触发didEnter/didExit事件的唯一方