9

Android デバイスは、リーダー/ライターP2P、およびカード エミュレーションの3 つの NFC モードをサポートしていることがわかりました。

アプリで現在有効になっているモードを確認することはできますか?

4

1 に答える 1

2

いいえ、アプリは現在有効になっているモードを実際に確認することはできません。重要なのは、Android デバイスはデフォルトで 3 つのモードすべてを定期的にチェックすることです (実際にはそれよりも少し複雑です。これらの 3 つのモード自体がいくつかの部分に分割され、それぞれが特定のテクノロジをポーリングします)。そのため、画面がオンになっている間、Android デバイスは、他のリーダーのリッスンと、さまざまな種類のタグ テクノロジおよびピア ツー ピア モード デバイスのポーリングとを周期的に切り替えることが期待できます。これは、ピアツーピア モードでメッセージを送信するように登録したかどうか、アプリが HCE に登録されているか、アプリが NFC 検出インテントに登録されているかに関係なく当てはまります。設定で Android Beam を無効にしても、デバイスは引き続きピアツーピア モードをポーリングします。

リーダー モード API (Android 4.4 以降で使用可能)を使用してカード エミュレーションと P2P を明示的に無効にする場合にのみ、アプリはリーダー/ライター モードのみがアクティブであることを制御できます (さらに、どのタグ テクノロジをポーリングするかを制御することもできます)。

したがって、アプリはそれ自体が有効にしたモードを認識し、推測を行うことができます

  • 画面がオンで、リーダー/ライター モードがリーダー モード API を使用して明示的に強制されていない場合、3 つのモードすべてがアクティブになる可能性があります。
  • 画面がオフの場合、カード エミュレーション モードのみがアクティブになることがあります (ただし、これはデバイスに依存し、HCE は通常使用できません)。
于 2015-04-28T07:12:07.937 に答える