2012-08-10 3 views
25

Sono un principiante che apprende java e nfc. In realtà ho davvero bisogno di aiuto per i miei compiti "programmazione NFC". provo questo tutorial http://open-nfc.org/wp/editions/sdk-edition/creating-a-java-example/ e ho ancora ottenere questo errore msg:Come creare un semplice programma NFC usando java?

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) 

In realtà, quello che voglio fare funzionare è questo codice di esempio da 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()); 
    } 
} 

ho già avviare la connessione centro, simulatore di nfc e porting del server. E ho un dispositivo QPROX QP3000, già connesso al mio PC. Sto usando eclipse juno e windows 7.

+0

Quindi il tuo piano è di interagire con il tuo lettore NFC con alcuni tag? – ThomasRS

+1

Ti suggerisco di ristrutturare il tuo codice in modo che ciascuna delle chiamate getProperty() sia all'interno del proprio blocco try con le proprie catture. Anche getInstance() ha bisogno di un blocco try? Dai un'occhiata a http://docs.oracle.com/javase/tutorial/essential/exceptions/index.html riguardante le eccezioni o questo tutorial http://tutorials.jenkov.com/java-exception-handling/basic-try- catch-finally.html –

+4

@pricillia Ti suggerisco di provare https://github.com/grundid/nfctools, per iniziare https://github.com/grundid/nfctools-esamples, sarà molto utile. – cypronmaya

risposta

1

La linea che chiama NfcManager.getInstance(null) fallisce. Sei sicuro che NfcManager.getInstance() richiede un pareametro null?

Successivamente, chiamare mgt.stop() non riesce più con uno java.lang.IllegalStateException , forse perché non è stato avviato.

-1

La documentazione di NfcManager http://developer.android.com/reference/android/nfc/NfcManager.html menziona chiamando getSystemService (NFC_SERVICE) per creare NfcManager. Anche la risposta a una domanda di overflow dello stack precedente How to check whether NFC is enabled or not in android? fornisce un semplice frammento di codice di esempio. Spero che questo ti aiuti.

+0

Nota che [risposte solo per collegamento] (http://meta.stackoverflow.com/tags/link-only -answer/informazioni) sono scoraggiati, per cui le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (rispetto a un'altra sosta di riferimenti, che tende a diventare obsoleta nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento – kleopatra