Java – NFC and NFC tools to create nDef applications

I tried to do what I would guess would be simple, but it turned out not to be I have an acr122 NFC reader and a bunch of Mifare classic and Mifare ultralight tags. All I want to do is read and write the MIME type and short text string of each card from the Java application This is what I have done so far:

>I can connect to my reader and listen to the tag > what type of tag can I detect on the reader > on the Mifare classic tag, I can cycle through all the data on the tag (after the mobile phone programming tag) and build an ascii string, but most of the data is "junk" data > I can determine whether there is an application directory on the tag

This is my code:

Main:

public static void main(String[] args){
        TerminalFactory factory = TerminalFactory.getDefault();
        List<CardTerminal> terminals;
        try{
            TerminalHandler handler = new TerminalHandler();
            terminals = factory.terminals().list();
            CardTerminal cardTerminal = terminals.get(0);
            AcsTerminal terminal = new AcsTerminal();
            terminal.setCardTerminal(cardTerminal);
            handler.addTerminal(terminal);
            NfcAdapter adapter = new NfcAdapter(handler.getAvailableTerminal(),TerminalMode.INITIATOR);
            adapter.registerTagListener(new CustomNDEFListener());
            adapter.startListening();
            system.in.read();
            adapter.stopListening();
        }
        catch(IOException e){
        }
        catch(CardException e){
            System.out.println("CardException: " + e.getMessage());
        }

}

CustomNDEFListener:

public class CustomNDEFListener extends AbstractCardTool
{
    @Override
    public void doWithReaderWriter(MfClassicReaderWriter readerWriter)
            throws IOException{
        NdefMessageDecoder decoder = NdefContext.getNdefMessageDecoder();
        MadKeyConfig config = MfConstants.NDEF_KEY_CONfig;
        if(readerWriter.hasApplicationDirectory()){
            System.out.println("Application Directory Found!");
            ApplicationDirectory directory = readerWriter.getApplicationDirectory();
        }
        else{
            System.out.println("No Application Directory Found,creating one.");
            readerWriter.createApplicationDirectory(config);

        }
    }
}

From here on, I seem to be frustrated with how to really create and interact with applications Once I can create an application and write a record object, I should be able to write the data I need using the textmimerecord type. I just don't know how to get there Any ideas?

:: appendix:: obviously there is no NFC tools tag, it may be Are there enough representatives with enough ability to create one and reintegrate it into my question?

:: second appendix:: in addition, if someone can point out the direction of the library I need, and the documents are good and will run in Windows environment, I am willing to communicate with NFC tools

Solution

Have you checked this library? It is well written and poorly documented Actually no more than Javadoc

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>