質問: Android初心者です。NFCによるBLE接続とアプリ起動について質問です。 AndroidでNDEFフォーマット化されたNFCタグを読み取った際に、以下の1,2がそれぞれ行えるという認識です。 1. 特定のアプリケーションを起動することができる(NDEF_DISCOVEREDのフィルタリングまたは、AAR) * NDEF_DISCOVEREDについて * AARについて 2. NFCForum-AD-BTSSP_1_1で定義されているNDEFのレコードが含まれていれば、BLEのペアリングが行える そこで、以下2点質問です。 * 上記の条件でBLE(クラシックBluetoothではなく)のペアリングを実機で確認できた方いらっしゃいますか? * 一度のNFC読み取りで、「アプリ起動→BLE接続」または「BLE接続→アプリ起動」は可能でしょうか? 情報お持ちの方いらっしゃいましたら、ご教授ください。
回答: 期待した回答となっているかわかりませんが...、 NDEFレコードにおける、AARが含まれていると自分のアプリがフォアグラウンドでない、または`NfcAdapter#enableForegroundDispatch`で起動優先度をあげていないと、 基本的にAARで指定されたパッケージのアプリ(またはGoogle Play Store)が起動されます。これがご自身が作成されたアプリでしたら、基本的に問題ないと思います。 ここで、「NFC読み取り後に〜BLE接続する方法」の主旨を鑑みるに、 ■「アプリ起動→BLE接続」 上記で起動された場合のNDEFメッセージに指定の端末をBLE接続するためのマックアドレスなりの情報が含まれていれば、`BluetoothAdapter`などを使って接続することができます。 ■「BLE接続→アプリ起動」 AndroidはiOSと違ってバックグラウンドの処理に融通が効くので、指定の端末の自動接続を`Service`なりで実装して、接続が確認できたら`startActivity`すれば可能だと思います。 参考になれば幸いです。