Android setRangeNotifier(RangeNotifier)已被弃用?

Android setRangeNotifier(RangeNotifier)已被弃用?,android,altbeacon,deprecation-warning,Android,Altbeacon,Deprecation Warning,我正在使用alt.beacon库,现在收到以下警告: warning: [deprecation] setRangeNotifier(RangeNotifier) in BeaconManager has been deprecated. 但替代品是什么?我需要从一个区域和回调RangeNotifier中确定信标的范围,这对于实现此功能至关重要 public interface RangeNotifier { void didRangeBeaconsInRegion(Collectio

我正在使用alt.beacon库,现在收到以下警告:

warning: [deprecation] setRangeNotifier(RangeNotifier) in BeaconManager has been deprecated.
但替代品是什么?我需要从一个区域和回调RangeNotifier中确定信标的范围,这对于实现此功能至关重要

public interface RangeNotifier {
    void didRangeBeaconsInRegion(Collection<Beacon> var1, Region var2);
}
公共接口范围通知程序{
void didrangebeaconregion(集合变量1,区域变量2);
}
有人有一个新图书馆如何运作的例子吗


谢谢

从2.9版开始,您可能有多个
RangeNotifier
。因此,与其打电话:

beaconManager.setRangeNotifier(rangeNotifier);
简单地说:

beaconManager.addRangeNotifier(rangeNotifier);

可能值得注意的是调用beaconManager.removeAllRangeNotifiers();在再次添加之前,尽管这可能是常识。我正在从一个片段设置范围通知程序,这可以添加到任何需要监视信标的活动中。在不清除范围通知程序的情况下,您最终会为您添加的每个rangeNotifier获得一个范围结果,在应用程序周围导航时,这可能会带来很多好处。好消息是,这应该不是必需的。rangeNotifiers集合定义为一个集合:`protected final Set rangeNotifiers=new CopyOnWriteArraySet();`因此,如果您多次添加相同的通知程序,它应该只是替换已经存在的通知程序。Hmmmmm。。我似乎不是这样。相同的片段添加到各种活动中。我发现从菜单(带信标检测)到活动(带信标检测)再返回5次,每秒会产生5个范围触发器!代码不变时使用相同的通知程序,唯一的区别可能是在UI中显示信标时使用getActivity引用?这会改变通知程序并使其唯一吗?啊,也许问题是每次片段都是不同的对象实例。在这种情况下,清除旧的通知程序可能是正确的方法。