salve a tutti!
Ho il problema come da soggetto: sto lavorando con le connessioni NFC della nokia, e devo far comunicare 2 dispositivi tra di loro tramite le librerie p2p. Poichè i due dispositivi dovrebbero aprire la connessione uno in modalità "target" e uno in "initiator", questi si dovrebbero trovare l'uno a cercare l'altro nello stesso momento. Ho quindi pensato di creare una classe che grazie a un thread prova ad aprire la connessione per un certo tempo.
questa è la mia classe Timeout
codice:
public class Timeout implements Runnable{
	
	private static boolean timeout;
	public Timeout(){
		timeout=false;
	}
	
	public void run() {
		aspetta();
		
	}
	public boolean getTimeout(){
		return timeout;
	}
	
	public synchronized void aspetta(){
		try {
			wait(20000);
			timeout=true;
		} catch (InterruptedException e) {
			timeout=true;
		}
	}
}
in questo modo dopo 20 secondi dall'avvio del thread la variabile timeout dovrebbe diventare true, variabile che verrà controllata in un ciclo while per l'apertura della connessione NFC. Il problema però è che non funziona questo è il codice per l'apertura della connessione
codice:
Timeout t = new Timeout();
Thread thread = new Thread(t);
thread.start();
while (!t.getTimeout() || !ricevuto){
       try{
	//prova a connettersi a un altro apparecchio;
	conn = (NFCIPConnection)Connector.open(INITIATOR_URL);
	//manda il messaggio
	conn.send(message.getBytes());
	//riceve risposta
	byte[] data = conn.receive();
	if (data!=null){
		response = new String(data);
	}
		ricevuto=true;
	}
	catch(Exception e){
		e.printStackTrace();
}