我正在使用altbeacon库(here)努力使用一个Android应用。我在他们的网站上使用作为示例提供的代码:
Beacon beacon = new Beacon.Builder()
.setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6")
.setId2("1")
.setId3("2")
.setManufacturer(0x0118)
.setTxPower(-59)
.setDataFields(Arrays.asList(new Long[] {0l}))
.build();
BeaconParser beaconParser = new BeaconParser()
.setBeaconLayout("m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25");
BeaconTransmitter beaconTransmitter = new
BeaconTransmitter(getApplicationContext(), beaconParser);
beaconTransmitter.startAdvertising(beacon);
我已经创建了正确处理蓝牙适配器,经理,广告客户等的应用程序。蓝牙启动正常,没有错误等等。当信标启动时我读了日志:
D/BluetoothLeAdvertiser: start advertising
D/BluetoothAdapter: STATE_ON
D/BluetoothLeAdvertiser: onClientRegistered() - status=0 clientIf=10
D/BluetoothLeAdvertiser: onMultiAdvertiseCallback status = 0 isStart = true
I/BeaconTransmitter: Advertisement start succeeded.
I/MonitoringActivityaaa: Beacon started OK
似乎一切正常,但(虚拟)信标不像信标那样可见。我可以看到某些BT设备被检测到并准确显示在它们应该的时间(当启动广告被触发时)但没有检测到信标。当我尝试其他创建/发布虚拟信标的应用程序时 - 它们可以正常工作。我正在使用Android 7.0在Galaxy S7上进行测试。
有人有同样的情况吗?我应该设置其他任何设置吗?