在XAMARIN中作为iBeacon传输-AltBeacon库

问题描述 投票:1回答:1

我在XAMARIN的AltBeacon库中遇到了iBeacon传输问题。在Android Studio中,此代码可以完美运行(我可以在iPhone上检测到创建的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);

传输在第二种情况下也有效。其他Android设备可以检测到创建的iBeacon。在iPhone上检测iBeacon失败。

谢谢您的任何建议。

android-studio xamarin.android ibeacon altbeacon
1个回答
0
投票

嘿哥们,您问这个问题已经快三年了,所以我不知道这对您是否仍然有用,但是我会帮助别人。

我已经看到了这段代码,这对于信标广播是绝对正确的,并且我建议您检查是否在初始化函数IBeaconconsumer中将信标管理与Bind((IBeaconConsumer)Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity);绑定在一起,或者检查是否使用了_tagRegion并引用了在右边。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.