इस दस्तावेज़ में ऐडवांस एनएफ़सी से जुड़े विषयों के बारे में बताया गया है. जैसे, अलग-अलग टैग टेक्नोलॉजी के साथ काम करना, एनएफ़सी टैग पर लिखने और फ़ोरग्राउंड डिस्पैच करने की सुविधा मिलती है. इसकी मदद से, फ़ोरग्राउंड में ऐप्लिकेशन को इंटेंट को हैंडल करें, भले ही दूसरे ऐप्लिकेशन उसी तरह के इंटेंट को फ़िल्टर करते हों.
काम करने वाली टैग टेक्नोलॉजी का इस्तेमाल करना
एनएफ़सी टैग और Android के साथ काम करने वाले डिवाइसों के साथ काम करते समय, कॉन्टेंट पढ़ने के लिए इस्तेमाल किया जाने वाला मुख्य फ़ॉर्मैट
और टैग पर डेटा NDEF है. जब कोई डिवाइस, एनडीईएफ़ डेटा वाले टैग को स्कैन करता है, तो Android उस टैग को
मैसेज को पार्स करने और उसे NdefMessage
में डिलीवर करने में
किया जा सकता है. हालांकि, कुछ मामलों में ऐसी स्थिति भी होती है, जब आप किसी ऐसे टैग को स्कैन करते हैं जिसमें
NDEF डेटा या जब NDEF डेटा को MIME टाइप या यूआरआई के साथ मैप नहीं किया जा सका.
इन मामलों में, आपको सीधे टैग के साथ कम्यूनिकेशन खोलना होगा. इसके बाद,
आपका अपना प्रोटोकॉल (रॉ बाइट में) डालें. Android, ऐप्लिकेशन के इन मामलों में सामान्य सहायता उपलब्ध कराता है.
android.nfc.tech
पैकेज, जिसके बारे में टेबल 1 में बताया गया है. आप
getTechList()
तरीके का इस्तेमाल करके, यह पता लगाया जा सकता है कि टेक्नोलॉजी किस तरह की है
टैग का इस्तेमाल करें और उससे संबंधित TagTechnology
बनाएं
android.nfc.tech
के दिए गए क्लास में से किसी एक वाला ऑब्जेक्ट
टेबल 1. इस्तेमाल की जा सकने वाली टैग टेक्नोलॉजी
कक्षा | ब्यौरा |
---|---|
TagTechnology |
ऐसा इंटरफ़ेस जिसे सभी टैग टेक्नोलॉजी क्लास को लागू करना होगा. |
NfcA |
एनएफ़सी-ए (ISO 14443-3A) प्रॉपर्टी और I/O कार्रवाइयों का ऐक्सेस देता है. |
NfcB |
एनएफ़सी-बी (ISO 14443-3B) प्रॉपर्टी और I/O कार्रवाइयों का ऐक्सेस देता है. |
NfcF |
एनएफ़सी-एफ़ (JIS 6319-4) प्रॉपर्टी और I/O कार्रवाइयों का ऐक्सेस देता है. |
NfcV |
एनएफ़सी-वी (ISO 15693) प्रॉपर्टी और I/O कार्रवाइयों का ऐक्सेस देता है. |
IsoDep |
ISO-DEP (ISO 14443-4) प्रॉपर्टी और I/O कार्रवाइयों का ऐक्सेस देता है. |
Ndef |
इस नीति से, एनएफ़सी टैग पर एनडीईएफ़ डेटा और ऑपरेशन को ऐक्सेस करने की सुविधा मिलती है. एनडीईएफ़. |
NdefFormatable |
उन टैग के लिए फ़ॉर्मैट ऑपरेशन देता है जो NDEF फ़ॉर्मैट करने लायक हो सकते हैं. |
Android डिवाइस पर काम करने वाले डिवाइसों के लिए, नीचे दी गई टैग टेक्नोलॉजी का इस्तेमाल करना ज़रूरी नहीं है.
दूसरी टेबल. इस्तेमाल की जा सकने वाली वैकल्पिक टैग टेक्नोलॉजी
कक्षा | ब्यौरा |
---|---|
MifareClassic |
यह Android डिवाइस होने पर, MIFARE क्लासिक प्रॉपर्टी और I/O ऑपरेशन का ऐक्सेस देता है MIFARE का समर्थन करता है. |
MifareUltralight |
अगर यह Android डिवाइस है, तो यह MIFARE Ultralight प्रॉपर्टी और I/O ऑपरेशन का ऐक्सेस देता है डिवाइस MIFARE का समर्थन करता है. |
टैग टेक्नोलॉजी और ACTION_TECH_DISCOVERED इंटेंट के साथ काम करें
जब कोई डिवाइस किसी ऐसे टैग को स्कैन करता है जिसमें NDEF का डेटा मौजूद होता है, लेकिन उसे MIME या यूआरआई के साथ मैप नहीं किया जा सकता, तो
टैग डिस्पैच सिस्टम, ACTION_TECH_DISCOVERED
के साथ कोई गतिविधि शुरू करने की कोशिश करता है
इंटेंट. ACTION_TECH_DISCOVERED
का इस्तेमाल तब भी किया जाता है, जब कोई टैग
बिना NDEF वाले डेटा को स्कैन किया जाता है. यह फ़ॉलबैक आपको टैग पर मौजूद डेटा के साथ काम करने की सुविधा देता है
का इस्तेमाल करें, अगर टैग डिस्पैच सिस्टम उसे आपके लिए पार्स नहीं कर पाता. इस पर काम करने के बुनियादी तरीके
टैग की टेक्नोलॉजी के बारे में यहां बताया गया है:
- उस
ACTION_TECH_DISCOVERED
इंटेंट के लिए फ़िल्टर करें जिसमें जिन्हें मैनेज करना है. एनएफ़सी के लिए फ़िल्टर करना देखें इंटेंट देखें. आम तौर पर, टैग डिस्पैच सिस्टम, एनडीईएफ़ मैसेज परACTION_TECH_DISCOVERED
इंटेंट शुरू करने की कोशिश करता है MIME टाइप या यूआरआई के साथ मैप नहीं किया जा सकता या अगर स्कैन किए गए टैग में NDEF का डेटा नहीं है. इसके लिए इसे कैसे तय किया जाता है, इस बारे में ज़्यादा जानकारी के लिए, टैग डिस्पैच सिस्टम लेख पढ़ें. - जब आपके ऐप्लिकेशन को इंटेंट मिलता है, तो यहां से
Tag
ऑब्जेक्ट पाएं इंटेंट:Kotlin
var tagFromIntent: Tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)
Java
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
- किसी एक को कॉल करके,
TagTechnology
का इंस्टेंस पाएंandroid.nfc.tech
पैकेज में क्लास कीget
फ़ैक्ट्री तरीके. आपget
फ़ैक्ट्री तरीके को कॉल करने से पहले,getTechList()
को कॉल करके टैग के लिए काम करने वाली टेक्नोलॉजी की गिनती करें. उदाहरण के लिए,