<質問の背景>
アンドロイドのドキュメント
周辺のサービスを検出する
に、onDnsSdTxtRecordAvailableというコールバックメソッドの引数の説明が書かれている部分があります。(下記)
- fullDomain: full domain name: e.g "printer._ipp._tcp.local."
- record: TXT record dta as a map of key/value pairs.
- device: The device running the advertised service.
<質問内容>
どういう背景や目的があって、このコールバックメソッドが用意されているのでしょうか?まったく想像の域を出ません。ご存知の方いらっしゃいましたら、教えていただけますでしょうか?
サービスが検出された場合に、デバイスのアドレスもしくは名称をUIに反映する処理は、同じタイミングで呼び出されるonDnsSdServiceAvailableというコールバックメソッドで行っているので、onDnsSdTxtRecordAvailableが用意されているのは、少なくともデバイスのアドレスや名称を取得するためではないと思われます。
よろしくお願いします。
<サービス検出処理について調べてわかっていること>
(1)サービスを検出するには、WifiP2pManager.addLocalServiceメソッドに以下の2つのリスナーを指定する必要がある。
WifiP2pManager.addServiceRequest(リクエスト部)
WifiP2pManager.setDnsSdResponseListeners(レスポンス部)
これは、リクエスト部で検出を開始し、レスポンス部は検出されたときの処理を記述するということだと思います。
(2)レスポンス部のsetDnsSdResponseListenersメソッドには、以下の2つのリスナーを登録する必要がある。
WifiP2pManager.DnsSdServiceResponseListener
WifiP2pManager.DnsSdTxtRecordListener
(3)その結果、サービス検出時に、以下の2つのコールバックメソッドが呼び出される。(上から順番に)
onDnsSdTxtRecordAvailable
onDnsSdServiceAvailable
以上
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/11 10:47
2021/10/11 10:51
2021/10/11 10:54 編集
2021/10/11 11:02
2021/10/11 11:05 編集
2021/10/11 11:10
2021/10/11 11:15