我在XAMARIN的AltBeacon库中遇到了一个iBeacon传输问题。在Android Studio中,这段代码工作得很好(我可以在iPhone上检测到created iBeacon )。我使用的是Android 5:
mBeaconTransmitter = new BeaconTransmitter(this, new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
Beacon beacon = new Beacon.Builder()
.setId1("FDA50693-A4E2-4FB1-AFCF-C6EB07647825")
.setId2("1000")
.setId3("2000")
.setManufacturer(0x004C)
.setTxPower(-59)
.setDataFields(Arrays.asList(new Long[] {0l}))
.build();
mBeaconTransmitter.startAdvertising(beacon);然而,在XAMARIN (Visual Studio)中,我没有达到同样的结果。在这种情况下,我无法在iPhone上检测到已创建的iBeacon:
var iBeaconParser = new BeaconParser();
iBeaconParser.SetBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24");
BeaconTransmitter beaconTransmitter = new BeaconTransmitter(ApplicationContext, iBeaconParser);
var beacon1 = new AltBeacon.Builder().SetId1("FDA50693-A4E2-4FB1-AFCF-C6EB07647825")
.SetId2("1000").SetId3("2000").SetTxPower(-59).SetManufacturer(0x004C).Build();
beaconTransmitter.StartAdvertising(beacon1);在第二种情况下,传输也有效。其他安卓设备可以检测到创建的iBeacon。在iPhone上检测iBeacon失败。
谢谢你的建议。
发布于 2020-06-15 02:18:25
嘿,伙计,你问这个问题已经快3年了,所以我不知道它是否仍然与你相关,但我相信这会对其他人有所帮助。
我已经看过这段代码,这对于信标广播来说是绝对正确的,我会建议检查你是否在初始化函数Bind((IBeaconConsumer)Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity);中绑定了IBeaconconsumer和信标管理器,或者检查你是否使用了_tagRegion,这指的是正确的一个。
希望这能有所帮助。
https://stackoverflow.com/questions/45960287
复制相似问题