Android NFCで、ある電話がタグ、P2Pの別の電話、またはホステッドエミュレータモードの別の電話を含む他のNFCデバイスのタイプを検出する方法を知っている人はいますか? コードでは、メッセージはすべて NdefMessage から送信されていますが、メッセージがどの種類のデバイスから送信されたかを宣言している場所はありますか?
1054 次
1 に答える
1
これは、アプリ内で NdefMessage を受け取る方法によって異なります。たとえば、インテントを介して受け取る場合ACTION_NDEF_DISCOVERED
、必須のインテント エクストラがありEXTRA_TAG
ます。そのエクストラで渡されたオブジェクトを使用Tag
して、NDEF メッセージを渡すために使用されたデバイスのタイプを推定できます。
この方法により、ピアツーピア モードで受信したメッセージと、NFC タグ/スマートカード/カード エミュレーション デバイスから受信したメッセージを明確に区別できるようになります。実際の NFC タグ (または非接触型スマートカード) とカード エミュレーション モードのデバイスとの区別は、より困難であり、広範なフィンガープリンティングが必要になります (たとえば、NfcA をエミュレートし、ピアツーピア モードもサポートするデバイスは区別できます)。 NfcA タグから、通常は NFCIP-1 のサポートを示す SAK バイトを介して)。
于 2014-01-30T05:41:58.870 に答える