2012-01-24 3 views
0

У меня проблема, когда я пытаюсь написать тег NFC A на Android 2.3.6 (nexus S). Я использую код из этого примера: http://www.jessechen.net/blog/how-to-nfc-on-the-android-platform/Android NFC Write NFCA tag

Точнее, когда я делаю Ndef.get (mytag), я получаю null, поэтому я не могу написать свой тег.

Вот код, из которого я получаю нулевые ссылки (значение тега не равно null), только ndef.

Ndef ndef = Ndef.get(tag); 

if (ndef != null) { 
    ndef.connect(); 
    if (!ndef.isWritable()) { 
     return false; 
    } 
    if (ndef.getMaxSize() < size) { 
     return false; 
    } 
    ndef.writeNdefMessage(message); 
    return true; 
} 

Благодарим за помощь!

ответ

0

Вместо этого попробуйте NfcA.get (tag). Не уверен, почему вы получаете сообщение об ошибке, но попытка другого класса может работать.

2

Возможно, ваш тег еще не отформатирован для хранения сообщений NDEF или может вообще не хранить NDEF-сообщения. Проверьте, не возвращает ли NdefFormatable.get(tag) значение null.

Затем используйте NdefFormatable.format(message), чтобы попытаться написать свое сообщение.

Если NdefFormatable.get(tag) возвращает null, то либо Android не имеет средств для форматирования тега, либо тег несовместим с хранилищем NDEF. (Кроме того, вы можете использовать TagWriter, https://market.android.com/details?id=com.nxp.nfc.tagwriter для форматирования и записи тегов.)

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