How to create simple NFC program using java?

19.2k views Asked by At

I'm a newbie learning java and nfc. Actually I really need some help about my homework "NFC programming". I try this tutorial http://open-nfc.org/wp/editions/sdk-edition/creating-a-java-example/ and I still get this error msg:

Start failed !
NfcException : Error while starting the NFC Manager - Caused by NFC error DRIVER
at org.opennfc.NfcManager.start(Unknown Source)
at org.opennfc.NfcManager.getInstance(Unknown Source)
at example.Example.main(Example.java:26)
Exception in thread "main" java.lang.IllegalStateException
at org.opennfc.NfcManager.stop(Unknown Source)
at example.Example.main(Example.java:36)

Actually, what I want to run is this example code by open-nfc

NfcManager mgt = NfcManager.getInstance(null);
try {
  System.out.println(mgt.getProperty("open_nfc.version"));
  System.out.println(mgt.getProperty("nfcc.firmware_version"));
} finally {
  try {
    mgt.stop();
  } catch(NfcException e) {
    System.out.println("Error :" + e.getMessage());
  }
}

I've already start the connection center, nfc simulator, and server porting. And I have a device QPROX QP3000, already connected to my PC. I'm using eclipse juno and windows 7.

3

There are 3 answers

0
Esteve On

The line calling NfcManager.getInstance(null) fails. Are you sure that NfcManager.getInstance() requires a null pareameter?

After that, calling mgt.stop() fails again with an java.lang.IllegalStateException , maybe because it's not started.

1
pav On

The documentation for NfcManager http://developer.android.com/reference/android/nfc/NfcManager.html mentions calling getSystemService(NFC_SERVICE) to create the NfcManager. Also the answer to an earlier stack overflow question How to check whether NFC is enabled or not in android? gives a simple example code snippet. Hope this helps.

0
Rajendra Khabiya On

I have found a great article here (http://code.tutsplus.com/tutorials/reading-nfc-tags-with-android--mobile-17278) through which i learned how to communicate and make payments via NFC chips. Go through this and i hope it will solve your problem.