Comment puis-je lire et afficher les messages NDEF de tags NFC? S'il vous plaît aider moi. Quelqu'un peut-il fournir le code source de l'exemple de lire le tag Nfc?
Ndef ndef =Ndef.get(tag);if(ndef ==null){//NDEF is not supported by this Tag. returnnull;}NdefMessage ndefMessage = ndef.getCachedNdefMessage();if(ndefMessage ==null){
mTextView.setText("The tag is empty !");returnnull;}NdefRecord[] records = ndefMessage.getRecords();for(NdefRecord ndefRecord : records){if(ndefRecord.getTnf()==NdefRecord.TNF_WELL_KNOWN &&Arrays.equals(ndefRecord.getType(),NdefRecord.RTD_TEXT)){try{return readText(ndefRecord);}catch(UnsupportedEncodingException e){Log.e(TAG,"Unsupported Encoding", e);}}}
Par lecture directe à l'aide de
publicvoid readFromTag(Intent intent){Ndef ndef =Ndef.get(detectedTag);try{
ndef.connect();
txtType.setText(ndef.getType().toString());
txtSize.setText(String.valueOf(ndef.getMaxSize()));
txtWrite.setText(ndef.isWritable()?"True":"False");Parcelable[] messages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);if(messages !=null){NdefMessage[] ndefMessages =newNdefMessage[messages.length];for(int i =0; i < messages.length; i++){
ndefMessages[i]=(NdefMessage) messages[i];}NdefRecord record = ndefMessages[0].getRecords()[0];byte[] payload = record.getPayload();String text =newString(payload);
txtRead.setText(text);
ndef.close();}}catch(Exception e){Toast.makeText(getApplicationContext(),"Cannot Read From Tag.",Toast.LENGTH_LONG).show();}}
1) la description générale de La NFC sur android est ici
2) La NFCDemo est ici
3) Très bonnes informations sont également ici
4) le livre "Programmation Android" à partir de "Zigurd Mednieks" a un chapitre sur le NFC
BR
STeN
OriginalL'auteur STeN
Nous avons deux options pour lire la carte nfc.
Lire à partir du cache
Par lecture directe à l'aide de
OriginalL'auteur Ranjith Subramaniam