27
votes

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
So your plan is to interact your NFC reader with some tags?ThomasRS
I suggest that you restructure your code so that each of the getProperty() calls are within their own try block with its own catches. Does the getInstance() also need a try block? Take a look at docs.oracle.com/javase/tutorial/essential/exceptions/index.html concerning exceptions or this tutorial tutorials.jenkov.com/java-exception-handling/…Richard Chambers
@pricillia I would suggest you to try the github.com/grundid/nfctools, for you to get started github.com/grundid/nfctools-examples, it will be lot helpful.cypronmaya
If you have a recent Android phone, it might have an NFC reader. Check out code.google.com/p/ndef-tools-for-android to get startedThomasRS

3 Answers

1
votes

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.

0
votes

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.

-1
votes

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.