لا يتم استدعاء onNewIntent لتطبيق android nfc دون تمكين android beam

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

سؤال

لقد كنت أعمل على عينات NFC ل Peer-To-Peer وضع.لقد نفذت onResume الطريقة بطريقتين مختلفتين، لوضع البادئ ووضع الهدف على النحو التالي:

لوضع البادئ:

mAdapter.setNdefPushMessage(getTestNdefMessage(), this);

وبالنسبة لوضع الهدف:

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

لقد صنعت هاتفًا يعمل بنظام Android كبادئ وآخر كهدف ثم أعدتهم إلى الخلف.هنا، يمكنني الاستماع إلى صوت اكتشاف جهاز NFC ولكن لا أتلقى أي اتصال به onNewIntent على هاتف Android الذي تم تعيينه كوضع الهدف.

هل يمكن لأي شخص أن يساعدني حيث أخطأت، في المفهوم أو في التنفيذ.إذا قمت بتمكين Android NFC Beam من settings من أن أحصل على إشعار Initiator جهاز ل Touch to Beam.في هذه الحالة أتلقى مكالمة ل onNewIntent.

أي اتجاه سيكون مفيدا.

هل كانت مفيدة؟

المحلول

شعاع أندرويد يكون وظيفة الاتصال الوحيدة من نظير إلى نظير في Android.لذا، عند تعطيل Android Beam، لن يتمكن جهازك من إرسال أو استقبال الرسائل عبر وضع نظير إلى نظير.بالتالي، onNewIntent (وآخرون) لن يتم إطلاق النار عند تجميع هاتفين معًا إذا تم تعطيل Beam.

يتم تطبيق Android Beam أعلى مجموعة بروتوكولات وضع نظير إلى نظير القياسية الخاصة بمنتدى 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 وسيتفق جهازان NFC (تلقائيًا إلى حد ما) على من يتولى دور البادئ ومن يتولى الدور المستهدف.)

لذلك، عادةً ما تقوم بتنفيذ جميع الطبقات حتى SNEP للتواصل مع جهاز Android مزود بـ Beam.يقوم Windows Phone 8 وBlackberry بالفعل بتطبيق SNEP لتبادل بيانات NDEF من نظير إلى نظير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top