سؤال

أريد تطبيقي اعتراض جميع العلامات التي اكتشفها الهاتف.بهذه الطريقة أريد التحقق من UID من العلامة وتمرير النوايا بعد ذلك (إظهار تطبيق مختار وما إلى ذلك). giveacodicetagpre.

هذا ما لدي به حاليا في بيضتي، إلى جانب مرشح نوايا ل TAG_DISCOULED: giveacodicetagpre.

عندما أقوم بفحص بطاقة Mifare SmartCard، يتم استدعاء تطبيقي، عندما أستخدم علامات مختلفة مع ICDE ICS NXP، يتم تشغيل تطبيق Tag Standard Android.

أي تلميح حول كيف يمكنني التأكد من أنني أرى جميع العلامات؟

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

المحلول

أولا، الطريقة التي تعمل بها قائمة التقنيات هي أن جميع التقنيات المدرجة تتوصلت معا، مما يعني أن النية يتم تمريرها إلى التطبيق إذا كانت العلامة تحتوي على كل التقنيات المختلفة المدرجة. أنا لا أعرف من أي ذلك تفعل. ما الذي تريد القيام به هو أكثر: giveacodicetagpre.

وهلم جرا. هذا يمرض العلامات المختلفة التي تريدها. (NFCA أو NFCB وما إلى ذلك) الآن بعض هذه التكنولوجيا تذهب معا، مثل nfca و ellalight أو ndef. لذلك إذا كنت ترغب في التقاط بطاقة nfca و ndef التي ستستخدمها giveacodicetagpre.

الآن، فإن التطبيق الذي يطابق بشكل وثيق يطابق التقنية على العلامة من شأنه أن يطلق، أو عرضه في قائمة التحديد. لكن ndef_discovered يحصل على الأولوية على Tech_Discovered. الآن يمكن أن تكون قاذفة نية NDEF_Discovered محددة للغاية في ما يتم تمرير العلامات. في حين أن بعض تنسيقات NDEF (مثل MIME Type) تسمح ب "تصطاد جميع" المرشحات (على سبيل المثال، " / " ل MIME)، بعضها لا. (مثل لسجل Ndef غير مؤهل URI). بالنسبة لأولئك، إذا كان هناك تطبيق معين يستهدفه، إلا إذا كنت تعرف ذلك وبناء عليه، فلن تتمكن من ضمان سيتم إطلاق تطبيقك. كما أنني لم أتمكن أبدا من الحصول على أكثر من مرشح نية واحدة لعلامات NDEF (MIME أو URI، ولكن ليس كلاهما). ولكن هذا قد يكون أنني لم أحاول بجد بما فيه الكفاية.

وإذا حاول تطبيق آخر أن يفعل نفس الشيء (التقاط أكبر عدد ممكن من العلامات)، فسوف يتم استدعاؤك دائما معها. لذلك لا توجد طريقة ممكنة لالتقاط كل علامة واحدة، إلا إذا كان لديك التطبيق الوحيد على الهاتف. لكن تنسيق رمز قائمة التقنية كما ترى أعلاه سيحصل عليك أقرب بكثير.

نصائح أخرى

يمكنك القيام بذلك نظريا مع إرسال مقدمة:

http://developer.android.com/دليل / مواضيع / NFC / ADVERT-NFC.HTML # مقدمة الإرسال

تحتاج إلى التعامل مع جميع أنواع mime ndef_discovered ( / )، ثم كل تقنيات العلامات Tech_Discovered، وكذلك نية TAG_Discovered.يجب أن يكون تطبيقك في المقدمة.لا يمكنك القيام بضمان بدء تشغيل تطبيقك خلاف ذلك لأن أي تطبيق آخر يمكنه دائما التعامل مع نفس النية مثل تطبيقك، وبالتالي سيظهر اختيار النشاط.

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