我正在使用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上进行测试 .
有谁有同样的情况?我应该设置其他任何设置吗?