iBeacon を検出して使用するために、ビーコン測距方式を使用しています。ただし、見つかったすべてのビーコンを反復しようとしているときに問題が発生しました。
ビーコン サービスはコレクションを返します。このコレクションのサイズを確認すると、3 つのビーコンがあることがわかります。ただし、何を試しても、ビーコンを確実に反復処理できます。ビーコンのランダムな順序は毎回異なるようで、一部は頻繁にスキップされます。
試してみwhile(iBeacons.iterator().hasNext())
ましたが、アプリがフリーズしました。解析した lastBeacon を選択した現在のビーコンと比較して破棄しようとしましたが、これはすべてのビーコンを通過するのにうまくいきませんでした。
コレクションは非同期に更新されており、古いビーコンを処理する機会を得る前に新しいビーコンが追加されるよりも解析に時間がかかるため、毎回コレクションから 1 つをランダムに処理しているようです。
毎回各ビーコンを取得して解析するにはどうすればよいですか?