0

NFC タグと ISO-14443 タイプ A タグを読み書きする独自の Android アプリ (アプリ A) があります。多くの Android デバイスで問題なく動作します。

Nexus5 に ISO-14443 タグの役割を与えたいので、Nexus5 に独自の HCE (ホスト カード エミュレーション) アプリケーション (アプリ B) を実装しました。外部 NFC リーダー (ISO 14443 を使用) で Nexus5 に触れると、完全に機能します。

ただし、Nexus7 (アプリ A を実行) で Nexus5 (アプリ B) に触れると、p2p (Android ビーム) データ交換シーケンスが開始されます。

両方のデバイスで Android ビーム機能をオフにしても、何も変わりません。Nexus7 では「Touched to Beam」画面は表示されませんが、p2p 検出音は再生されます。

LogCat は、Nexus7 が LLCP 接続を確立しようとしていることを示しています。

Nexus7 が、Android ビームではなく、Nexus5 の ISO-14443 HCE の検出に集中することを望んでいます。

NFC 検出の優先度を変更して、Android ビームよりも ISO-14443 を優先するにはどうすればよいですか?

4

1 に答える 1

4

このソリューションは、Android 4.4 Kitkat (Nexus 7 で利用可能) でのみ利用できます。を使用して、この特定の状況を処理するように設計された、いわゆる「リーダー モード」を有効にする必要がありますenableReaderMode()

このモードでは、NFC コントローラーは NFC タグ リーダー/ライターとしてのみ機能するため、このデバイスの NFC アダプターのピアツーピア (Android ビーム) およびカード エミュレーション モードは無効になります。[...] Android のホストベースのカード エミュレーションを使用して別の Android デバイスでエミュレートされるタグと対話する場合、推奨されるフラグはFLAG_READER_NFC_AFLAG_READER_SKIP_NDEF_CHECKです。

于 2014-01-01T08:13:59.457 に答える