Bluetooth デバイスから情報を受け取る Android アプリを作成しています。私たちのクライアントは、特定の条件に応じて Bluetooth デバイス (彼らが製造する) の名前を変更することを提案しました。私のアプリは、この BT トランスミッター (私は BluetoothAdapter.startDiscovery() を使用します) を探し、見つかった名前に応じてさまざまなことを行うことになっています。私はBluetoothデバイスとペアリングしていません(可能かもしれませんが、アプリは最終的に複数のAndroidデバイスと複数のBTトランスミッターで動作するはずなので、それが良い考えかどうかはわかりません).
私のコードは正常に動作し、BT デバイスを検出してその名前を見つけます。また、デバイスがオフになった場合、次にシークしたときにデバイスが存在しないことを検出できます。しかし、それがそこにあり、名前が変更された場合、古い名前を取得するようです-おそらくどこかにキャッシュされています。Bluetooth デバイスがオフになったとしても、次にそれを検出したときに古い名前が表示されることに気付きました。
Google Code: hereでこの問題を見つけましたが、指定された回避策 (「接続を試行」) の使用方法さえわかりませんでした。誰かがこれを行い、運が良かったですか? コードを共有できますか?
キャッシュされた名前を削除して再度検索し、常に最新の名前を見つける簡単な方法はありますか? 単純ではない方法でも良いでしょう (ルート化されたデバイスについて書いています)。
ありがとう