Androidビームを有効にせずに、OnneweintentはAndroid NFC実装のために呼び出されていません

StackOverflow https://stackoverflow.com//questions/22013058

質問

Peer-To-PeerモードのNFCサンプルに取り組んでいます。次のようにイニシエータモードとターゲットモードのために、onResumeメソッドを2つの異なる方法で実装しました。

イニシエータモードの場合:

mAdapter.setNdefPushMessage(getTestNdefMessage(), this);
.

およびターゲットモードの場合:

mAdapter.enableForgroundDispatch(this, pendingIntent, null, null);
.

私は1つのAndroid携帯電話をイニシエータとして、その他ターゲットとしてターゲットとし、背中合わせにしました。ここでは、NFC機器検出音を聞くことができますが、ターゲットモードとして設定されているAndroid携帯電話のonNewIntentへの呼び出しはありません。

誰かが私が間違っているところ、概念や実装で私を助けます。Android NFC Beamsettingsデバイスで通知を受け取るよりもInitiatorを有効にすると、Touch to Beamが発生します。この場合、onNewIntentへの呼び出しが発生します。

どんな方向にも役立ちます。

役に立ちましたか?

解決

Android Beam は、Androidの唯一のピアツーピア通信機能です。そのため、Androidビームを無効にすると、ピアツーピアモードでメッセージを送受信できません。その結果、ビームが無効になっている場合、onNewIntent(et al)は2つの電話をまとめると発火しません。

Androidビームは、NFCフォーラムの標準ピアツーピアモードプロトコルスタックの上に実装されています。

+--------------------------------------------+
| Android Beam                               |
+--------------------------------------------+
| NDEF (NFC Data Exchange Format)            |
+--------------------------------------------+
| SNEP (Simple NDEF Exchange Protocol)       |
| (or NDEF Push Protocol (NPP) for backwards |
| compatibility to pre-SNEP Android devices) |
+--------------------------------------------+
| LLCP (Logical Link Control Protocol)       |
+--------------------------------------------+
| NFCIP-1 (ISO/IEC 18092)                    |
+--------------------------------------------+
.

(用語「イニシエータ」と「ターゲット」は、NFCIP-1レイヤーにのみ関連しています。通常、両方の部分はNFCデバイスで実装され、2つのNFCデバイスは(自動的に)を取る人に同意するでしょう(自動的に)。イニシエータの役割とターゲットの役割を担う誰が。)

だから、梁を持つAndroidデバイスと通信するために、通常SNEPまでのすべてのレイヤーを実装します。Windows Phone 8とBlackBerryはすでにピアツーピアNDEFデータ交換用にSNEPを実装しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top