当应用被杀死时,在Xamarin.android中扫描ibeacon无法正常工作

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

我正在创建Xamarin.android应用程序,可以使用它扫描BLE设备并在范围内通知用户,而不管该应用程序处于前台,暂停还是终止状态。我正在使用ESP32 BLE设备作为ibeacon。我已经使用了AltBeacon库并遵循了下面链接中提到的所有步骤

https://altbeacon.github.io/android-beacon-library/samples.html

我已经转换了Xamarin.android的代码。当应用程序处于前台且处于暂停状态时,我会收到通知,但在被杀死时却不会收到通知。]

我也尝试使用Googles附近消息API。但是我无法检测到ibeacon。

这里是应用程序类的代码

[Application]
public class Myapplication : Application, IBootstrapNotifier
{
    BackgroundPowerSaver backgroundPowerSave;
    RegionBootstrap regionBootstrap;

    public Myapplication(IntPtr handle, JniHandleOwnership ownerShip) : base(handle, ownerShip)
    {
    }

    public override void OnCreate()
    {
        base.OnCreate();
        BeaconManager beaconManager = BeaconManager.GetInstanceForApplication(this);
        beaconManager.BeaconParsers.Add(new BeaconParser().SetBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));

        backgroundPowerSave = new BackgroundPowerSaver(this);
        regionBootstrap = new RegionBootstrap(this, Helper.GetRegion());
    }

    public void DidDetermineStateForRegion(int state, Region region)
    {
        Helper.ShowNotification(this, "Beacon - state for region", "Log in");
    }

    public void DidEnterRegion(Region region)
    {
        regionBootstrap.Disable();
       //show notification 
    }

    public void DidExitRegion(Region region)
    {
       //show notification 
    }
}

如何解决这个问题?

c# android xamarin.android bluetooth-lowenergy ibeacon
1个回答
0
投票

“杀死”一个应用程序后测试检测非常棘手,并且它是否正常工作(通常是有效的)取决于您如何杀死它以及您在说什么设备制造商。

仔细阅读this page上的所有详细信息,以确保您正在测试预期可行的方案。

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