アプリが特定の BLE デバイスの範囲内にあるときに通知を受け取る必要があります。範囲に入ったら、デバイスに接続してデータを送信したいと思います。
アプローチ 1:
定期的な BLE スキャンは、一定の間隔で (つまり、30 秒ごとに) 行われます。ただし、これはバッテリーにはよくありません。デバイスの位置が BLE デバイスの位置に近い場合にのみスキャンすることで、これを少し改善できます (Android Geofence API を使用)。しかし、それでも、バッテリーにはあまり適していません。
アプローチ 2:
Android Awareness API を使用します。これは有力候補のようです。ただし、BLE デバイスを BLE ビーコンとして Google に登録する必要があるようです。これが絶対的な要件であるかどうかは誰にもわかりますか? Google に登録したくありません。