2012-07-04 2 views
2

Может ли один пожалуйста, скажите мне «науку» за этой функции«IsoDep.get (тэг)» возвращает нуль при отладке

`IsoDep.get(tag)` 

, как она возвращается нуль даже тег правильно читать. Я запускаю приложение Android в затмении.

+0

Вы хотите сказать "in Eclipse" в Android-эмуляторе? –

+0

andriod device .. – Ahsan

ответ

-1

Если вы посмотрите на documentation:

  • Возвращает NULL, если IsoDep не перечисленное в getTechList(). Этот указывает, что тег не поддерживает ISO-DEP.

Похоже, что тег NFC, который вы читаете, не поддерживает IsoDep.

Чтобы узнать, что поддерживается, используйте этот метод.

private static String debugTag(Tag tag) 
{ 
    String str = "=== DEBUG TAG ==="; 
    for (String techListItem : tag.getTechList()) 
    { 
     str += "\n" + techListItem; 
    } 

    return str; 
} 
+0

Или попробуйте приложение, например [TagInfo] (https://play.google.com/store/apps/details?id=com.nxp.taginfolite); который покажет вам на последней вкладке классы, поддерживаемые Android для тега. –

0

Выполните следующую процедуру.

1) Получить технический тег NFC i.e не так сложно найти, просто используйте метод tag.getTechList().

2) Предположит, что опорное устройство только один технический тег как NfcF

3), а затем использовать андроид класс для NfcF, как показано ниже

NfcF mifare = NfcF.get(tag); 
     try { 
      mifare.connect(); 
      if(mifare.isConnected()){ 
       byte[] historicalData=mifare.getManufacturer(); 
       return new String(historicalData, Charset.forName("US-ASCII")); 
      } 

     } catch (IOException e) { 
      Log.e("Deepak", "IOException while writing MifareUltralight message...", e); 
     } 

Надеется, что это поможет. :)

Enjoy Coding ...

Смежные вопросы