बेहतर एनएफ़सी की खास जानकारी

इस दस्तावेज़ में ऐडवांस एनएफ़सी से जुड़े विषयों के बारे में बताया गया है. जैसे, अलग-अलग टैग टेक्नोलॉजी के साथ काम करना, एनएफ़सी टैग पर लिखने और फ़ोरग्राउंड डिस्पैच करने की सुविधा मिलती है. इसकी मदद से, फ़ोरग्राउंड में ऐप्लिकेशन को इंटेंट को हैंडल करें, भले ही दूसरे ऐप्लिकेशन उसी तरह के इंटेंट को फ़िल्टर करते हों.

काम करने वाली टैग टेक्नोलॉजी का इस्तेमाल करना

एनएफ़सी टैग और 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 वाले डेटा को स्कैन किया जाता है. यह फ़ॉलबैक आपको टैग पर मौजूद डेटा के साथ काम करने की सुविधा देता है का इस्तेमाल करें, अगर टैग डिस्पैच सिस्टम उसे आपके लिए पार्स नहीं कर पाता. इस पर काम करने के बुनियादी तरीके टैग की टेक्नोलॉजी के बारे में यहां बताया गया है:

  1. उस ACTION_TECH_DISCOVERED इंटेंट के लिए फ़िल्टर करें जिसमें जिन्हें मैनेज करना है. एनएफ़सी के लिए फ़िल्टर करना देखें इंटेंट देखें. आम तौर पर, टैग डिस्पैच सिस्टम, एनडीईएफ़ मैसेज पर ACTION_TECH_DISCOVERED इंटेंट शुरू करने की कोशिश करता है MIME टाइप या यूआरआई के साथ मैप नहीं किया जा सकता या अगर स्कैन किए गए टैग में NDEF का डेटा नहीं है. इसके लिए इसे कैसे तय किया जाता है, इस बारे में ज़्यादा जानकारी के लिए, टैग डिस्पैच सिस्टम लेख पढ़ें.
  2. जब आपके ऐप्लिकेशन को इंटेंट मिलता है, तो यहां से Tag ऑब्जेक्ट पाएं इंटेंट:

    Kotlin

    var tagFromIntent: Tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)

    Java

    Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
  3. किसी एक को कॉल करके, TagTechnology का इंस्टेंस पाएं android.nfc.tech पैकेज में क्लास की get फ़ैक्ट्री तरीके. आप get फ़ैक्ट्री तरीके को कॉल करने से पहले, getTechList() को कॉल करके टैग के लिए काम करने वाली टेक्नोलॉजी की गिनती करें. उदाहरण के लिए,