2016-08-15 18 views
3

私はalt.beaconライブラリを使用していますが、今、私はこの警告を得る:setRangeNotifier(RangeNotifier)は推奨されていませんか?

warning: [deprecation] setRangeNotifier(RangeNotifier) in BeaconManager has been deprecated. 

をしかし交換は何ですか?リージョンからビーコンを範囲指定する必要があり、コールバックRangeNotifierはこの機能を実装する上で重要です。

public interface RangeNotifier { 
    void didRangeBeaconsInRegion(Collection<Beacon> var1, Region var2); 
} 

誰かが新しいライブラリがどのように動作するはずのサンプルを持っていますか?

thx!

答えて

4

バージョン2.9からは、RangeNotifierが複数ある可能性があります。だから、代わりに呼び出す:

beaconManager.setRangeNotifier(rangeNotifier); 

を簡単に呼び出す:

beaconManager.addRangeNotifier(rangeNotifier); 
+0

それは)( beaconManager.removeAllRangeNotifiersを呼び出すことが注目に値するかもしれ。それをもう一度追加する前に 、それはおそらく常識です。レンジ通知をフラグメントから設定しています。これは、ビーコンを監視する必要のあるアクティビティに追加できます。レンジ通知機能をクリアしないと、追加したすべてのrangeNotifierのレンジ結果が返されます。アプリをナビゲートするときに多くの量がかかる可能性があります。 – WallyHale

+0

良いニュースは、これは必要ではないということです。 rangeNotifiersのコレクションは、Set: 'protected final Set rangeNotifiers = new CopyOnWriteArraySet <>();'として定義されますので、同じ通知を複数回追加する場合は、 – davidgyoung

+0

こんにちは。私の場合はそうではないようです。同じ断片は、さまざまな活動に追加されます。メニュー(ビーコン検出)からアクティビティ(ビーコン検出)まで、また5回繰り返すと、毎秒5回のトリガーが発生することがわかりました。コードが変更されていないので、UIでビーコンを表示しているときのgetActivity参照のみが同じである可能性があります。これは通知者を変更してユニークにするでしょうか? – WallyHale

関連する問題